![](/img/trans.png)
[英]How to replace space/character with specified character after first numeric value in string using C#?
[英]Find numeric value of a digit character in C#
Unicode字符中有幾個表示數字的范圍, char.IsDigit
返回true
。 例如:
bool b1 = char.IsDigit('\uFF12'); // full-width '2' -> true
bool b2 = char.IsDigit('\u0665'); // true
bool b3 = char.IsDigit('5'); // true
我正在尋找一種方法來獲得這些字符的數字等價物。 請注意, int.Parse(...)
不起作用,因為它期望輸入字符在基本unicode范圍內('0'..'9')。
這相當於Java的Character.digit(...)
行為。
由於.NET框架的char.IsDigit
方法正確地將這些字符標識為數字,我希望它也具有此功能,但我找不到任何東西。
你試過Char.GetNumericValue
嗎? (我只是啟動我的Windows筆記本電腦來檢查:)
編輯:剛嘗試過 - 看起來像是有效的:
Console.WriteLine(char.GetNumericValue('\uFF12')); // 2
Console.WriteLine(char.GetNumericValue('\u0665')); // 5
Console.WriteLine(char.GetNumericValue('5')); // 5
請注意,這並不僅僅包括數字-這是任何數字字符。 然而, IsDigit
僅僅是個數字。 例如:
// U+00BD is the Unicode "vulgar fraction one half" character
Console.WriteLine(char.IsDigit('\u00bd')); // False
Console.WriteLine(char.GetNumericValue('\u00bd')); // 0.5
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.