美好的一天,我检查了所有现有的代码以找到解决方法,但由于我是一个新的代码,我无法在没有指南的情况下解决它。
在这段代码中,它只接受整数但我想阻止用户在输入小于计算总量时接受输入
例如,用户输入为5,总金额为10,程序仍会接受该错误,
那么如果Amountended<然后TotalAmount再次循环
bool test3 = false;
do
{
try
{
Console.SetCursorPosition(67, 19);
Console.Write(" ");
Console.SetCursorPosition(67, 19);
AmountTended = decimal.Parse(Console.ReadLine());
test3 = false;
}
catch
{
test3 = true;
}
} while (test3);
答案 0 :(得分:1)
你可以试试
if (AmountTended < TotalAmount)
{
test3 = true;
}
之后的'try'代码块中的
test3 = false;
答案 1 :(得分:0)
您无需检查用户输入并将test3
设置为false
,无论用户输入的值如何。所以你的循环在用户输入有效值后结束。
相反,您需要执行实际检查:
decimal value = 0.0m;
while(value < TotalAmount)
{
value = decimal.Parse(Console.ReadLine());
}
只要用户输入的值小于TotalAmount
。
注意:为了处理无效输入,您可以尝试使用decimal.TryParse
。