![](/img/trans.png)
[英]Why is decimal.Parse() slower than (decimal)double.Parse()?
[英]double.parse convert two zero decimal to one decimal
我有一個字符串10.00,我想將其轉換為雙精度10.00。
我用 :
string str = "10.00";
double db = double.Parse(str);
我得到的結果是10.0,而不是10.00。
數字上的Parse
和TryParse
尊重本地區域性設置; 您可以通過指定CultureInfo
對象來更改此設置。 例如,將2.999
解析為一個double會在德國提供2999
:
Console.WriteLine (double.Parse ("2.999")); // 2999 (In Germany)
這是因為在德國,句點表示千位分隔符,而不是小數點。 指定不變的區域性可以解決此問題:
double x = double.Parse ("2.999", CultureInfo.InvariantCulture);
調用ToString()
時相同:
string x = 2.9999.ToString (CultureInfo.InvariantCulture);
雙精度不是字符串。 如果要將雙精度形式顯示為字符串,則可以將其格式化為兩個小數點。
例如:
string str = "10.00";
double db = double.Parse(str);
String.Format("{0:0.00}", db); // will show 10.00
問題還不是很清楚,但是如果您要指的是將雙精度轉換為精度為兩位小數的字符串,則可以使用:
string str = "10.00"
double db = double.parse(str);
string convertedBack = db.ToString("0.00");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.