码迷,mamicode.com
首页 > 其他好文 > 详细

Char.IsDigit与Char.IsNumber的区别

时间:2019-09-20 17:10:21      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:sas   public   ima   指定   number   code   tun   ber   char   

需要判断Char是否为数字,查看了下MSDN,发现有三种方法:

Char.IsDigit (aChar)              指示指定字符串中位于指定位置处的字符是否属于十进制数字类别

Char.IsNumber(aChar)        指示指定字符串中位于指定位置的字符是否属于数字类别

aChar>=‘0‘&&aChar<=‘9‘     判断aChar是否位于‘0’到‘9’之前  等同于第一种

 

用.NET Reflector 查看其实现代码:

public static bool IsNumber(char c)  
  1. {  
  2.     if (!IsLatin1(c))  
  3.     {  
  4.         return CheckNumber(CharUnicodeInfo.GetUnicodeCategory(c));  
  5.     }  
  6.     if (!IsAscii(c))  
  7.     {  
  8.         return CheckNumber(GetLatin1UnicodeCategory(c));  
  9.     }  
  10.     return ((c >= ‘0‘) && (c <= ‘9‘));  
  11. }   

 

public static bool IsDigit(char c)  
  1. {  
  2.     if (!IsLatin1(c))  
  3.     {  
  4.         return (CharUnicodeInfo.GetUnicodeCategory(c) == UnicodeCategory.DecimalDigitNumber);  
  5.     }  
  6.     return ((c >= ‘0‘) && (c <= ‘9‘));  
  7. }  

 

 

Char.IsNumber 多了一步检查ASCII码。。。

Char.IsDigit与Char.IsNumber的区别

标签:sas   public   ima   指定   number   code   tun   ber   char   

原文地址:https://www.cnblogs.com/micro-chen/p/11557919.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!