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

Alv*_*vin 1 c#

我有一个字符串10.00,我想将其转换为10.00倍.

我用 :

string str = "10.00";
double db = double.Parse(str);
Run Code Online (Sandbox Code Playgroud)

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

luk*_*szk 5

ParseTryParse上的数字应尊重当地的文化设置; 您可以通过指定CultureInfo对象来更改此设置.例如,在德国解析2.999为double 2999:

Console.WriteLine (double.Parse ("2.999"));   // 2999 (In Germany) 
Run Code Online (Sandbox Code Playgroud)

这是因为在德国,期间表示千位分隔符而不是小数点.指定不变文化可修复此问题:

double x = double.Parse ("2.999", CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)

调用时也一样ToString():

string x = 2.9999.ToString (CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)