在cultureinfo的函数中将字符串转换为float

时间:2013-10-19 09:40:55

标签: c#-4.0

您好我想将string转换为float 我尝试float.Parse() 字符串格式与某些用户##,###以及其他##。###的问题取决于用户CultureInfo 当我将字符串转换为浮点数时我有一个错误,因为浮点格式是',' 那怎么管理呢?

2 个答案:

答案 0 :(得分:0)

只需按照Double.TryParse Method中的示例操作即可。不要指定文化,只需向系统询问当前的文化。

    string userInput = "56,67";
    float output;
    System.Globalization.NumberStyles style = System.Globalization.NumberStyles.AllowDecimalPoint;
    System.Globalization.CultureInfo  info =  System.Threading.Thread.CurrentThread.CurrentCulture;

    if (float.TryParse(userInput, style, info, out output))
    {
        // ...
    }
    else
    {
        // ....
    }

答案 1 :(得分:0)

使用看起来如下的过载

float.Parse("20,30", System.Globalization.NumberStyles.Float,
                          Thread.CurrentThread.CurrentUICulture);

或者您也可以使用double.parse,如下所示

double.Parse("30.30", System.Globalization.NumberStyles.Float,
                          Thread.CurrentThread.CurrentUICulture);