从终端带走的漂浮物没有昏迷

时间:2017-11-01 14:54:58

标签: c# terminal decimal

我是C#中的新手,我尝试从控制台获取值浮点数,但没有小数点。

这是我的代码:

do {
    Console.Write("Promedio:\t");
    promedio = float.Parse(Console.ReadLine());
    if (promedio < 0.0 || promedio > 5.0) {
        Console.WriteLine("Error: >> Promedio incorrecto, digite un valor entre 0.0 y 5.0\n");
    }
} while (promedio < 0 || promedio > 5);

如果我写3.7并且如果打印promedio(平均值)那么它看起来像这样:

  

37

此外,在上面的代码中,永远说promedio是错误的。

错误是什么?有什么建议或建议吗?

1 个答案:

答案 0 :(得分:0)

尝试在do{}while();

之前执行此操作
CultureInfo ci = (CultureInfo)Thread.CurrentThread.CurrentCulture.Clone();
ci.NumberFormat.DecimalNumberSeparator = ".";
Thread.CurrentThread.CurrentCulture = ci;

现在用于解析float的分隔符是&#34;。&#34;所以3.7应该成功解析成你想要的数字。希望它有所帮助。