C# 如何将字符串转换为整数或小数?
我有以下代码:C# 如何将字符串转换为整数或小数?,c#,decimal,C#,Decimal,我有以下代码: Console.WriteLine("What is the price of the product?"); Decimal price = Decimal.Parse(Console.ReadLine()); 我将一个输入作为一个字符串,作为一个整数或/和十进制数,并将其转换为一个变量。或者,这是我的意图。输入是产品的价格,可以有小数,也可以没有小数。如果你只输入整数,它会工作,但如果输入小数,它就会崩溃。我是新手,似乎找不到答案。用于防止异常: while (tru
Console.WriteLine("What is the price of the product?");
Decimal price = Decimal.Parse(Console.ReadLine());
我将一个输入作为一个字符串,作为一个整数或/和十进制数,并将其转换为一个变量。或者,这是我的意图。输入是产品的价格,可以有小数,也可以没有小数。如果你只输入整数,它会工作,但如果输入小数,它就会崩溃。我是新手,似乎找不到答案。用于防止异常:
while (true)
{
string input = Console.ReadLine();
decimal result;
if (decimal.TryParse(input, out result))
{
// do your work
break;
}
else
{
Console.WriteLine("invalid value try again");
}
}
我还使用了
while
循环来强制用户输入正确的值。如果不需要,可以忽略循环。实现这一点的方法有很多。例如:
string Input = Console.ReadLine();
Decimal InputConvertedAsDecimal;
if (Decimal.TryParse(Input, out InputConvertedAsDecimal)
{
Console.WriteLine("Inputted number is: " + InputConvertedAsDecimal.ToString(CultureInfo.InvariantCulture));
}
else
{
Console.WriteLine("Error! Input have a incorrect format to parse.");
}
你们到底在控制台窗口中输入什么?崩溃是什么意思。请显示堆栈跟踪或至少显示异常消息。“它崩溃”信息不足。请显示您的输入和异常。您确定使用的分隔符与程序预期的区域性匹配吗
11,5
在某些系统上有效,在其他系统上有效。@Theodoros就是这样做的,当我用逗号输入一个数字时,它有效,但当我使用点时无效。天哪,我觉得自己太傻了。