包含數字的字元可以使用 char.GetNumericValue 方法轉換為數字(雙精度浮點型)。
程式碼如下:
double d = char.GetNumericValue(`5`);
Console.WriteLine(d);
輸出值:5
那麼,為什麼當一個 char ,並且只能為單字元時,GetNumericValue 會返回一個單位數“數字”(“0”到“9”)的 double 變數呢?
這是因為 char 儲存 Unicode 字元,它可以容納三分之二的 Unicode 字元。當這三分之二的 Unicode 字元與 GetNumericValue 方法一起使用時,返回值為:0.666666666666667。
章節:Converting Chars to Doubles
譯書名:《C# 奇淫巧技 — 編寫更優雅的 C#》
原書名:《C# Tips — Write Better C#》
網址:https://leanpub.com/cstips