我国家/地区的计算机不接受带有'。'的小数。他们只接受','
如何编写一个程序,它将从控制台接受12.5作为十进制数?
答案 0 :(得分:2)
使用CultureInfo
。如果您确定使用小数点是您所在国家/地区的标准,请使用您所在国家/地区的CultureInfo
。你可以简单地检查一下。
// Change kk-KZ to your culture code
decimal dec = decimal.Parse(str, new CultureInfo("kk-KZ"));
或者您可以使用InvariantCulture
和NumberStyles.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;
}