我有一个字符串 10.00,我想将它转换为双 10.00。
我用 :
string str = "10.00";
double db = double.Parse(str);
我得到的结果是 10.0 而不是 10.00。
我有一个字符串 10.00,我想将它转换为双 10.00。
我用 :
string str = "10.00";
double db = double.Parse(str);
我得到的结果是 10.0 而不是 10.00。
和在数值上尊重当地文化设置Parse
;TryParse
您可以通过指定一个CultureInfo
对象来更改它。例如,在德国解析2.999
成双精度: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
问题不是很清楚,但是如果您指的是将 double 更改回具有 2 个小数位精度的字符串,您可以使用:
string str = "10.00"
double db = double.parse(str);
string convertedBack = db.ToString("0.00");