double.parse将两位零十进制转换为一位小数

时间:2012-10-02 02:58:48

标签: c#

我有一个字符串10.00,我想将它转换为10.00倍。

我用:

string str = "10.00";
double db = double.Parse(str);

我得到的结果是10.0而不是10.00。

3 个答案:

答案 0 :(得分:5)

数字尊重当地文化设置的ParseTryParse;您可以通过指定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");