在Asp.Net C#MVC Controller中,我希望使用以下代码将字符串转换为float:
string test1 = "7.8";
float test2 = float.Parse(test1);
test2的结果是78
而不是7.8
。我应该怎么做才能得到结果7.8
?
正如Sxntk所说,你的设置可能需要,而不是“。”因此,解决方案是将其解析为另一种文化,如西班牙语,我们使用“。”而不是“,”
float.Parse(test1,new CultureInfo("EN-ES"))
你也需要
using System.Globalization;
试试以下:
string test1 = "7.8";
float test2 = Single.Parse(test1);
请阅读更多:https://docs.microsoft.com/en-us/dotnet/api/system.single.parse?view=netframework-4.7.2
试试这个,你会得到7,8
string test = "7.8";
float test2 = float.Parse(test, System.Globalization.CultureInfo.InvariantCulture);
Console.WriteLine(test2);
@Sxntk在评论中对我说
您的小数点分隔符不是“。”它是“,”这是您的本地环境设置。它应该与“7,8”一起使用