将字符串转换为float抛出错误“格式不正确”

时间:2010-02-05 21:12:08

标签: c# string floating-point

我无法让我的应用程序将字符串转换为浮点数:

float number = float.Parse(match);

匹配为“0.791794”。

为什么这不起作用?我得到的错误是“输入字符串格式不正确。”,但我无法理解它有什么问题。

3 个答案:

答案 0 :(得分:7)

尝试将一个文化对象(即InvariantCulture,如果这是系统存储的数据,并且格式不会有所不同)传递给接受它的重载;您当前的文化可能设置为期望逗号作为分隔符而不是句点(或类似)的东西。

您也可以尝试

string x = (0.791794f).ToString()

只是为了看看它打印出来的东西。

检查CultureInfo.CurrentCulture也可能具有指导意义。

(另外,完整性检查 - 我假设这些引用来自你,而不是字符串值本身的一部分?)

答案 1 :(得分:0)

您确定matchstring类型吗?您可能需要对其进行类型转换。

答案 2 :(得分:0)

似乎在2008年工作正常

    static void Main(string[] args)
    {
        var match = "0.791794";
        float number = float.Parse(match);
        Console.Out.Write(number);
    }

您可以尝试重新启动vs. 希望有所帮助