C# 区域小数分隔符输入
我国的计算机不接受带“.”的小数,它们只接受“.”C# 区域小数分隔符输入,c#,decimal,cultureinfo,region,C#,Decimal,Cultureinfo,Region,我国的计算机不接受带“.”的小数,它们只接受“.” 如何编写一个接受控制台12.5作为十进制数的程序?使用CultureInfo。如果您确定使用小数点是您所在国家的标准,请使用您所在国家的CultureInfo。您可以简单地检查它是否正确 // Change kk-KZ to your culture code decimal dec = decimal.Parse(str, new CultureInfo("kk-KZ")); 或者您可以使用InvariantCulture和numbers
如何编写一个接受控制台12.5作为十进制数的程序?使用
CultureInfo
。如果您确定使用小数点是您所在国家的标准,请使用您所在国家的CultureInfo
。您可以简单地检查它是否正确
// Change kk-KZ to your culture code
decimal dec = decimal.Parse(str, new CultureInfo("kk-KZ"));
或者您可以使用InvariantCulture
和numberstyle。任何:
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;
}
我想将12.5写入控制台,并将其解释为十进制。查看更新的答案。这就是解析从控制台中输入的字符串中以“decimal
\double
分隔的十进制点的方法。