我无法让我的应用程序将字符串转换为浮点数:
float number = float.Parse(match);
匹配为“0.791794”。
为什么这不起作用?我得到的错误是“输入字符串格式不正确。”,但我无法理解它有什么问题。
答案 0 :(得分:7)
尝试将一个文化对象(即InvariantCulture,如果这是系统存储的数据,并且格式不会有所不同)传递给接受它的重载;您当前的文化可能设置为期望逗号作为分隔符而不是句点(或类似)的东西。
您也可以尝试
string x = (0.791794f).ToString()
只是为了看看它打印出来的东西。
检查CultureInfo.CurrentCulture也可能具有指导意义。
(另外,完整性检查 - 我假设这些引用来自你,而不是字符串值本身的一部分?)
答案 1 :(得分:0)
您确定match
是string
类型吗?您可能需要对其进行类型转换。
答案 2 :(得分:0)
似乎在2008年工作正常
static void Main(string[] args)
{
var match = "0.791794";
float number = float.Parse(match);
Console.Out.Write(number);
}
您可以尝试重新启动vs. 希望有所帮助