例如,假設我有一個:
var值=“0000000000002022”
我怎樣才能得到:20.22
uj5u.com熱心網友回復:
從數學上講,你的數字前面有多少個零并不重要,它們都是一樣的,所以0000002 = 2是真的。我們可以利用這個事實簡單地將我們的字串決議為一個數字,然后進行除法,但是我們必須小心使用哪種數字型別,因為這樣做(int) 16 / (int) 5會導致3,這顯然是不正確的,而是整數師就是這樣做的。所以,為了確保我們不會失去任何精度,我們將使用float
string value = "0000000000002022";
if (float.TryParse(value, out var number))
{
// Successfully parsed our string to a float
Console.WriteLine(number / 100);
}
else
{
// We failed to parse our string to a float :(
Console.WriteLine($"Could not parse '{value}' to a float");
}
TryParse除非您 110% 確定給定的字串將始終是數字,否則請始終使用,即使那樣,情況也可能(而且將會,這畢竟是軟體開發)發生變化。
注意:float不是無限大,它有一個最大值和最小值,超出這個范圍的任何東西都不能用浮點數表示。另外,浮點數也有一個警告:它們不是 100% 準確的,例如是錯誤的,您可以在
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/459690.html
