我有一个字符串10.00,我想将它转换为10.00倍。
我用:
string str = "10.00";
double db = double.Parse(str);
我得到的结果是10.0而不是10.00。
答案 0 :(得分:5)
数字尊重当地文化设置的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);
答案 1 :(得分:2)
double不是字符串。如果要将double显示为字符串,可以将其格式化为两个小数点。
例如:
string str = "10.00";
double db = double.Parse(str);
String.Format("{0:0.00}", db); // will show 10.00
答案 2 :(得分:1)
问题不是很清楚,但是如果你指的是将双精度更改为2位小数精度的字符串,你可以使用:
string str = "10.00"
double db = double.parse(str);
string convertedBack = db.ToString("0.00");