C# 将字符串转换为浮点将抛出错误“;“格式不正确”;
我无法让我的应用程序将字符串转换为浮点:C# 将字符串转换为浮点将抛出错误“;“格式不正确”;,c#,string,floating-point,C#,String,Floating Point,我无法让我的应用程序将字符串转换为浮点: float number = float.Parse(match); 其中匹配项为“0.791794” 为什么这样不行?我得到的错误是“输入字符串的格式不正确”。但我无法理解它有什么问题。您确定匹配是字符串类型吗?您可能需要对其进行类型转换。尝试将区域性对象(即不变量区域性,如果这是系统存储的数据,且格式不会有任何不同)传递给接受该对象的重载;您当前的区域性可能设置为需要逗号作为分隔符,而不是句号(或类似字符) 你也可以试试 string x = (0
float number = float.Parse(match);
其中匹配项为“0.791794”
为什么这样不行?我得到的错误是“输入字符串的格式不正确”。但我无法理解它有什么问题。您确定
匹配
是字符串类型吗?您可能需要对其进行类型转换。尝试将区域性对象(即不变量区域性,如果这是系统存储的数据,且格式不会有任何不同)传递给接受该对象的重载;您当前的区域性可能设置为需要逗号作为分隔符,而不是句号(或类似字符)
你也可以试试
string x = (0.791794f).ToString()
只是看看打印出来的是什么
检查CultureInfo.CurrentCulture可能也会有帮助
(还有,健全性检查——我假设这些引号来自您,而不是字符串值本身的一部分?在2008年似乎工作正常
static void Main(string[] args)
{
var match = "0.791794";
float number = float.Parse(match);
Console.Out.Write(number);
}
你可以尝试重新启动vs。
希望有助于匹配
的是一个字符串
,是的。我有string match=someOtherString代码>+1我还没有遇到这个问题,我不知道为什么我没有给出我们运行的文档数量。但这确实是一个很好的观点。嘎,愚蠢的挪威数字系统,我们使用,
作为小数分隔符,因此它不能与匹配中的
一起工作。是的。无效格式表示它与当前UI区域性所期望的规则不匹配,对于数字,通常表示逗号与句点输入法。;)无论何时调用,ToString、String、Frand或.PARSE都应该通过某种CultIntIngor对象,只是为了明确它的可能性是什么(并且让您考虑不同的文化规则)。我认为您的意思是引用<代码> CurrultCuleult/Cuth>属性,而不是<代码> CurrutuuloStudio。code>CurrentUICulture
与资源管理器加载资源(如资源文件中的字符串)的方式有关CurrentCulture
影响日期和数字格式。你说得对,我说了。我总是把那两个倒过来。答案已修改,谢谢。:)