将字符串转换为Double(不使用"转换类")

M. *_*nho 0 c# string double

想象一下,我在字符串中有以下值,例如:

string[] values  = new string[] { "17.424", "44.43", "44.0"};
Run Code Online (Sandbox Code Playgroud)

现在我需要用相应的逗号提取确切的值并将它们保存为双数字类型.

double valuesCorrectType;
Run Code Online (Sandbox Code Playgroud)

我不想用这个:

Convert.ToDouble(string);
Run Code Online (Sandbox Code Playgroud)

因为我得到的输出是:17424.0和4443.0和44.0

我怎样才能做到这一点?

Hab*_*bib 6

刚过去 CultureInfo.InvariantCulture

double d = Convert.ToDouble("17.424", CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)

它是你目前的文化,正在考虑.千分离.

您也可以使用double.Parsedouble.TryParse,但必须指定CultureInfo.InvariantCulture

  • "这个字符用作千位分隔符.在美国,这个字符是逗号(,).在德国,它是一个句号(.).因此,在美国,一千二百五十一个显示为1,025.在德国1.025." 有关您的理解,请参阅:[全球化循序渐进](http://msdn.microsoft.com/en-ca/goglobal/bb688127.aspx) (2认同)