格式化用户输入货币

时间:2013-09-07 17:06:06

标签: c# .net windows console console.readline

这是我的问题,我正在尝试将{"C:O"}格式化为console.readline但我得到方法名称预期错误。这就是我现在所拥有的:

money = double.Parse(Console.ReadLine()(string.Format("{O:C}")));

1 个答案:

答案 0 :(得分:0)

除了语法错误之外,您通常应使用decimal来代表资金,因为double上的许多操作都可能导致舍入错误。

我建议这样的事情:

string input = Console.ReadLine();
decimal money = decimal.Parse(input);

或者在一行中:

decimal money = decimal.Parse(Console.ReadLine());

但如果给出无效输入(例如Parse),"foo"将抛出异常。您可能希望使用TryParse更安全一些:

decimal money;
if (!decimal.TryParse(Console.ReadLine(), out money))
{
    Console.WriteLine("Invalid input");
}