C# 禁止用户键入单词而不是数字
C# Prohibiting user typing Words instead of numbers
我的控制台计算器有一些问题
我想禁止用户输入单词而不是数字。
我写了这段代码并将其转换为零,但我希望用户输入一个数字而不是单词。如果用户仍在输入单词,程序应该要求用户输入数字。
内部class程序
{
静态无效主(字符串[]参数)
{
Console.WriteLine("----------------------");
Console.WriteLine("------Calculator------");
Console.WriteLine("----------------------");
do
{
double num1 = 0;
double num2 = 0;
double result = 0;
bool result0;
Console.WriteLine("Enter number one: ");
try
{
double.TryParse(Console.ReadLine(), out num1);
if ()
{
Console.WriteLine("Incorrect number!\nType another number:");
num1 = Convert.ToDouble(Console.ReadLine());
}
}
catch (Exception e)
{
}
Console.WriteLine("Enter number two: ");
num2 = Convert.ToDouble(Console.ReadLine());
你必须使用 double.TryParse()
inside a if
condition with negation operator.
如果要强制用户显示 "Incorrect number!\nType another number:"
消息直到用户输入正确的整数,请使用 while()
循环而不是 if()
条件。
while (!double.TryParse(Console.ReadLine(), out num1))
Console.WriteLine("Incorrect number!\nType another number:");
为什么我们应该在 if
条件中使用 double.TryParse()
?
double.TryParse()
,将字符串值解析为 double,如果转换成功与否,return 为真。
- 在您的情况下,如果用户输入单词而不是数字,则转换将失败,使用
!(negation)
将再次迭代循环。
我的控制台计算器有一些问题 我想禁止用户输入单词而不是数字。 我写了这段代码并将其转换为零,但我希望用户输入一个数字而不是单词。如果用户仍在输入单词,程序应该要求用户输入数字。
内部class程序 { 静态无效主(字符串[]参数)
{
Console.WriteLine("----------------------");
Console.WriteLine("------Calculator------");
Console.WriteLine("----------------------");
do
{
double num1 = 0;
double num2 = 0;
double result = 0;
bool result0;
Console.WriteLine("Enter number one: ");
try
{
double.TryParse(Console.ReadLine(), out num1);
if ()
{
Console.WriteLine("Incorrect number!\nType another number:");
num1 = Convert.ToDouble(Console.ReadLine());
}
}
catch (Exception e)
{
}
Console.WriteLine("Enter number two: ");
num2 = Convert.ToDouble(Console.ReadLine());
你必须使用 double.TryParse()
inside a if
condition with negation operator.
如果要强制用户显示 "Incorrect number!\nType another number:"
消息直到用户输入正确的整数,请使用 while()
循环而不是 if()
条件。
while (!double.TryParse(Console.ReadLine(), out num1))
Console.WriteLine("Incorrect number!\nType another number:");
为什么我们应该在 if
条件中使用 double.TryParse()
?
double.TryParse()
,将字符串值解析为 double,如果转换成功与否,return 为真。- 在您的情况下,如果用户输入单词而不是数字,则转换将失败,使用
!(negation)
将再次迭代循环。