我如何只接受C#Xamarin中的数字数字

时间:2017-05-01 01:44:17

标签: c# ios xamarin

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

  

“请输入数字”。

我不知道为什么我会收到错误但却无效。

当我运行它并输入一个数字时,它每次都默认为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";
        }
    }   

2 个答案:

答案 0 :(得分:2)

我建议更改TextBox,以便显示的键盘只是数字。

<Entry Keyboard="Numeric" />

查看此Xamarin Guide了解详情。

答案 1 :(得分:1)

我认为问题是var app = angular.module('ui.bootstrap.demo', ['ui.bootstrap']); app.controller('ctl', function ($scope) { $scope.dtFrom = new Date (); $scope.config1 = {}; $scope.config1.opened = false; $scope.open1 = function(event){ event.preventDefault(); event.stopPropagation(); $scope.config1.opened = true; }; }); 为什么你期望该声明具有正确的价值?这对于控制台程序是有效的,但您正在运行iOS应用程序。

这有点像:

string input = Console.ReadLine();

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

string input = YourTextInput.Text;

还有一件事。如果答案应为YourTextInput.KeyboardType = UIKeyboardType.NumberPad; ,则应使用double而不是int。

这个怎么样?

double.TryParse(input, out value)

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