gpt4 book ai didi

C# 字符串到 float 的转换

转载 作者:太空狗 更新时间:2023-10-29 22:20:42 25 4
gpt4 key购买 nike

我需要将字符串转换为 float 。这是我的示例字符串:

1 兆瓦 +00000.00 毫米
2 兆瓦 +0000.000 毫米
3 兆瓦 -00000.01 毫米
4 兆瓦 +00000.00 毫米
5 兆瓦 +00002.92 毫米
6兆瓦+00002.69毫米

这就是我正在做的:

text = text.Substring(pos + 5, 9).Trim();                  
float val = 0.0F;
float.TryParse(texto, out val);
this.txtDimension1.Text = val.ToString();

好的,这适用于我的环境,即 en_US,但是当我在西类牙语环境中运行同一段代码时,它会将 -00000.01 转换为 -1.0

我认为这是一个逗号问题,英文数字用点 (.) 分隔,西类牙文数字用逗号 (",") 分隔。

我怎样才能使它在两种语言上都能工作?

谢谢,理查德。

最佳答案

您需要为设置字符串格式的区域性传递 CultureInfo。

http://msdn.microsoft.com/en-us/library/3s27fasw.aspx

来自 MSDN 的例子是:

double number;

string value = "1,097.63";
NumberStyles style = NumberStyles.Number | NumberStyles.AllowCurrencySymbol;
CultureInfo culture = CultureInfo.CreateSpecificCulture("en-US");
if (Double.TryParse(value, style, culture, out number))
Console.WriteLine("Converted '{0}' to {1}.", value, number);
else
Console.WriteLine("Unable to convert '{0}'.", value);

或者,如果您的输入 字符串格式不同,则使用CultureInfo.CurrentCulture

关于C# 字符串到 float 的转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3992079/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com