区域小数分隔符输入

时间:2015-06-04 03:42:00

标签: c# decimal cultureinfo region

我国家/地区的计算机不接受带有'。'的小数。他们只接受','

如何编写一个程序,它将从控制台接受12.5作为十进制数?

1 个答案:

答案 0 :(得分:2)

使用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;
}