【问题标题】:Convert string to double, [duplicate]将字符串转换为双精度,[重复]
【发布时间】:2017-10-06 09:46:45
【问题描述】:

我有一个包含 4 个元素的字符串数组。看起来像这样。

但是,当尝试这样做时:

Vector newVector = new Vector(
(float)Convert.ToDouble(words[1]),
(float)Convert.ToDouble(words[2]));

我收到以下错误:

'输入字符串的格式不正确。'

那是因为值使用了“。”但是如果我手动更改数组以使用“,”它可以工作。 我怎样才能最简单地替换所有“。”和 ','。

【问题讨论】:

  • 使用String.Replace 或其他区域设置,其中十进制分隔符为.
  • 为什么要使用float 类型转换?
  • Array.ConvertAll(words.Split(','), Double.Parse); 这会将您的字符串数组转换为双精度数组。事实上,我是从另一个Stack Overflow[1] 问题中得到的。我希望这能解决你的问题。 [1]:stackoverflow.com/questions/9524682/…

标签: c#


【解决方案1】:

使用

//(float)Convert.ToDouble(words[1]),
  (float)Convert.ToDouble(words[1], CultureInfo.InvariantCulture),

【讨论】:

    【解决方案2】:

    试试这个...

    Vector newVector = new Vector(
    (float)Convert.ToDouble(words[1], CultureInfo.GetCultureInfo("en-US").NumberFormat),
    (float)Convert.ToDouble(words[2], CultureInfo.GetCultureInfo("en-US").NumberFormat));
    

    【讨论】:

      猜你喜欢
      • 2014-01-06
      • 1970-01-01
      • 1970-01-01
      • 2011-08-11
      • 1970-01-01
      相关资源
      最近更新 更多