gpt4 book ai didi

c# - 我如何在 C# Xamarin 中只接受数字

转载 作者:可可西里 更新时间:2023-11-01 05:43:02 25 4
gpt4 key购买 nike

我是使用 Xamarin 的 C# 新手。我正在使用 Visual Studio for Mac Preview 在 iOS 应用程序上工作。在制作基本计算器时,我不知道如何不接受不是数字的答案。例如在我的文本框中,如果我输入一封信,我想要一个错误提示

"Please enter a numeric digit".

我不知道为什么我会收到错误但它不起作用。

当我运行它并输入一个数字时,它每次都默认为 else 语句。还有信件。当我在其中输入太多字母时,它会崩溃。

    partial void AddButton_TouchUpInside(UIButton sender)
{
double number1 = 0.00;
double answer = 0.00;
double number2 = 0.00;

int value;
string input = Console.ReadLine();
if (Int32.TryParse(input, out value))
{
number1 = double.Parse(Number1TextBox.Text);
number2 = double.Parse(Number2TextBox.Text);
answer = number1 + number2;
AnswerLabel.Text = "The answer is: " + answer.ToString();
}
else
{

InvalidLabel.Text = "Please enter a Numeric Digit";
}
}

最佳答案

我认为问题是 string input = Console.ReadLine();为什么您期望该语句具有正确的值?这对控制台程序有效,但您运行的是 iOS 应用程序。

它会像这样有意义:

string input = YourTextInput.Text;

如果要将文本输入限制为带数字的键盘,请使用以下命令:

YourTextInput.KeyboardType = UIKeyboardType.NumberPad;

还有一件事。如果答案应该是 double,您应该使用 double.TryParse(input, out value) 而不是 int。

这个呢?

double number1 = 0.00;
double answer = 0.00;
double number2 = 0.00;

if (double.TryParse(Number1TextBox.Text, out number1)
&& double.TryParse(Number2TextBox.Text, out number2))
{
answer = number1 + number2;
AnswerLabel.Text = "The answer is: " + answer.ToString();
}
else
{
InvalidLabel.Text = "Please enter a Numeric Digit";
}

您仍然需要验证输入的数字,因为数字键盘允许输入多于一位的小数点。

关于c# - 我如何在 C# Xamarin 中只接受数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43713207/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com