C# 将字符串转换为双精度,
我有一个包含4个元素的字符串数组。看起来像这样 然而,当尝试这样做时:C# 将字符串转换为双精度,,c#,C#,我有一个包含4个元素的字符串数组。看起来像这样 然而,当尝试这样做时: Vector newVector = new Vector( (float)Convert.ToDouble(words[1]), (float)Convert.ToDouble(words[2])); 我得到以下错误: '输入字符串的格式不正确。' 这是因为该值使用了“.”,但如果我手动将数组更改为使用“.”,它会工作。 如何将所有“.”替换为“,” 使用 //(float)Convert.ToDouble(words
Vector newVector = new Vector(
(float)Convert.ToDouble(words[1]),
(float)Convert.ToDouble(words[2]));
我得到以下错误:
'输入字符串的格式不正确。'
这是因为该值使用了“.”,但如果我手动将数组更改为使用“.”,它会工作。
如何将所有“.”替换为“,” 使用
//(float)Convert.ToDouble(words[1]),
(float)Convert.ToDouble(words[1], CultureInfo.InvariantCulture),
使用
试试这个
Vector newVector = new Vector(
(float)Convert.ToDouble(words[1], CultureInfo.GetCultureInfo("en-US").NumberFormat),
(float)Convert.ToDouble(words[2], CultureInfo.GetCultureInfo("en-US").NumberFormat));
试试这个
Vector newVector = new Vector(
(float)Convert.ToDouble(words[1], CultureInfo.GetCultureInfo("en-US").NumberFormat),
(float)Convert.ToDouble(words[2], CultureInfo.GetCultureInfo("en-US").NumberFormat));
使用
String。替换
或十进制分隔符为
的其他区域设置。为什么要使用float
typecasting?Array.ConvertAll(words.Split(',')、Double.Parse)代码>这将把字符串数组转换为双数组。事实上,我是从另一个问题中得出这个结论的。我希望这能解决你的问题。[1] :使用String。替换
或十进制分隔符为
的其他区域设置。为什么要使用float
类型转换?Array.ConvertAll(words.Split(',),Double.Parse)代码>这将把字符串数组转换为双数组。事实上,我是从另一个问题中得出这个结论的。我希望这能解决你的问题。[1]: