isnumber java

您所在的位置:网站首页 isnumber函数的使用方法及实例 isnumber java

isnumber java

#isnumber java| 来源: 网络整理| 查看: 265

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