如果输入小于总金额,则拒绝用户输入

时间:2014-12-19 12:43:25

标签: c#

美好的一天,我检查了所有现有的代码以找到解决方法,但由于我是一个新的代码,我无法在没有指南的情况下解决它。

在这段代码中,它只接受整数但我想阻止用户在输入小于计算总量时接受输入

例如,用户输入为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);

2 个答案:

答案 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