在 ASP.Net 控制器中将字符串转换为浮点数
Convert String to Float in ASP.Net Controller
在 Asp.Net C# MVC 控制器中,我想使用以下代码将字符串转换为浮点数:
string test1 = "7.8";
float test2 = float.Parse(test1);
test2 的结果是 78
而不是 7.8
。我应该怎么做才能得到结果 7.8
?
试试下面的方法:
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
正如 Sxntk 所说,您的设置可能需要 , 而不是“.”所以解决方案是将它解析为另一种文化,比如我们使用“。”的西班牙语。而不是“,”
float.Parse(test1,new CultureInfo("EN-ES"))
你还需要
using System.Globalization;
试试这个,你会得到 7,8
string test = "7.8";
float test2 = float.Parse(test, System.Globalization.CultureInfo.InvariantCulture);
Console.WriteLine(test2);
@Sxntk 在评论里对我说,
您的小数分隔符不是“.”它是一个“,” 那是您的本地环境设置。它应该适用于“7,8”
在 Asp.Net C# MVC 控制器中,我想使用以下代码将字符串转换为浮点数:
string test1 = "7.8";
float test2 = float.Parse(test1);
test2 的结果是 78
而不是 7.8
。我应该怎么做才能得到结果 7.8
?
试试下面的方法:
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
正如 Sxntk 所说,您的设置可能需要 , 而不是“.”所以解决方案是将它解析为另一种文化,比如我们使用“。”的西班牙语。而不是“,”
float.Parse(test1,new CultureInfo("EN-ES"))
你还需要
using System.Globalization;
试试这个,你会得到 7,8
string test = "7.8";
float test2 = float.Parse(test, System.Globalization.CultureInfo.InvariantCulture);
Console.WriteLine(test2);
@Sxntk 在评论里对我说,
您的小数分隔符不是“.”它是一个“,” 那是您的本地环境设置。它应该适用于“7,8”