isnumber java |
您所在的位置:网站首页 › isnumber函数的使用方法及实例 › isnumber java |
1、起因 最近发现程序中有一段控制TextBox数字输入的代码,相信大家都不会太陌生,如下: void int_KeyPress(objectsender, KeyPressEventArgs e) {const char Delete = (char)8;if (!Char.IsDigit(e.KeyChar) && e.KeyChar !=Delete) { e.Handled= true; } } 乍一看,好像没有啥问题,但是却出现了一个bug,能够输入全角的数字,如:0、1、2、3等。错误的根源就是上面代码中用到的IsDigit函数,于是就有了下面的一番探究,让我们来看看IsDigit函数的真面目。 2、IsDigit函数 查阅MSDN,告知该函数是判断字符是Unicode的十进制数字的函数。在查看其源代码 public static bool IsDigit(charc) {if (!IsLatin1(c)) return CharUnicodeInfo.GetUnicodeCategory(c) ==UnicodeCategory.DecimalDigitNumber;return c >= '0' && c = '0' && c = '0' && c = '0' && c = '0' && e.KeyChar |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |