| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1917 人关注过本帖
标题:字符串输入多个00时的处理问题,路过的师傅看看哪里有问题。
取消只看楼主 加入收藏
wxflw
Rank: 6Rank: 6
等 级:侠之大者
帖 子:324
专家分:435
注 册:2012-1-29
结帖率:88.24%
收藏
已结贴  问题点数:20 回复次数:1 
字符串输入多个00时的处理问题,路过的师傅看看哪里有问题。
Private Sub Text1_KeyPress(Index As Integer, KeyAscii As Integer)
  '======================
  Dim a As String
  a = ".0123456789" & Chr(8) & Chr(13)
  If InStr(a, Chr(KeyAscii)) = 0 Or (KeyAscii = Asc(".") And (Text1(Index) = "" Or InStr(Text1(Index), ".") > 0)) Then KeyAscii = 0
 '========================上面这段挺好的,防止第一个字符输入小数点“.”,防止输入2个小数点。谢谢版主wmf2014的帮助。

'下面这段帮我看看,目的是防止输入00.1这种多个0,下面这段可以实现我的目的
  If KeyAscii = Asc("0") And Len(Text1(Index).Text) = 1 Then
     If Text1(Index).Text = 0 Then KeyAscii = 0
  End If

'但是,上面这个想整合成下面一句怎么会报错,错在这一段And Text1(Index).Text = 0 ,报错13,类型不匹配
                                                        'ˇˇˇˇˇˇˇˇˇˇˇˇ
  If KeyAscii = Asc("0") And Len(Text1(Index).Text) = 1 And Text1(Index).Text = 0 Then KeyAscii = 0   '怎么会报错.......
'另外,我要实现输入0.10000后自动将这个数值变为0.1,要怎么弄?除了val()外还有什么方法吗?
End Sub

[此贴子已经被作者于2020-3-11 15:35编辑过]

搜索更多相关主题的帖子: Text Text1 Index 输入 And 
2020-03-11 15:16
wxflw
Rank: 6Rank: 6
等 级:侠之大者
帖 子:324
专家分:435
注 册:2012-1-29
收藏
得分:0 
问题知道了,Text1(Index).Text = 0这个处理一下  Val(Text1(Index).Text) = 0 就可以了。
但是下面这个实现输入0.10000后自动将这个数值变为0.1,这个要怎么做?


 If KeyAscii = Asc("0") And Len(Text1(Index).Text) = 1 And Val(Text1(Index).Text) = 0 Then KeyAscii = 0 '这个也不对哇,,输入01.00就失效了.看来还要在小数点上面研究怎么判断了0

[此贴子已经被作者于2020-3-11 15:38编辑过]


学习--------------学习-------------------学习--------------------!!
2020-03-11 15:21
快速回复:字符串输入多个00时的处理问题,路过的师傅看看哪里有问题。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015449 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved