区域十进制分隔符输入

本文关键字:输入 分隔符 十进制 区域 | 更新日期: 2023-09-27 17:53:18

我国的计算机不接受带'的小数。'他们只接受','

我如何写一个程序,可以从控制台接受12.5作为十进制数?

区域十进制分隔符输入

使用CultureInfo。如果你确定使用小数点是你国家的标准,那么使用你国家的CultureInfo。您可以简单地检查它是否存在。

// Change kk-KZ to your culture code
decimal dec = decimal.Parse(str, new CultureInfo("kk-KZ")); 

或者您可以使用InvariantCultureNumberStyles.Any:

decimal dec = decimal.Parse(str, NumberStyles.Any, CultureInfo.InvariantCulture);

我将执行第二个,因为我不知道你是从哪里来的。
这是一个控制台应用程序,它为我工作:

public static void Main()
{
    string str;
    str = Console.ReadLine();
    decimal dec = decimal.Parse(str, NumberStyles.Any, CultureInfo.InvariantCulture);
    double db = double.Parse(str, NumberStyles.Any, CultureInfo.InvariantCulture);
    Console.WriteLine(dec.ToString("F2", CultureInfo.InvariantCulture));
    Console.WriteLine(db.ToString("F2", CultureInfo.InvariantCulture));
    return;
}