将字符串转换为双精度,[重复]
Posted
技术标签:
【中文标题】将字符串转换为双精度,[重复]【英文标题】: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]:***.com/questions/9524682/…
【参考方案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));
【讨论】:
以上是关于将字符串转换为双精度,[重复]的主要内容,如果未能解决你的问题,请参考以下文章