整数比较C#

时间:2013-08-21 18:00:53

标签: c# winforms comparison int

我有一个用户输入9个数字的文本框。我试图将这个数字的最后两位数字与myInt进行比较:

        int myInt = 34;
        int numberToCompare = Convert.ToInt32(textBox1.Text);
        if (numberToCompare == myInt)
        {
            MessageBox.Show("Vat number correct");
        }

如果文本框输入等于:876545434如何切出剩余数字:8765454(34)我可以将其与myInt进行比较?文本框编号将始终保持9位数字!

更新

我用这种方法管理它:

        int myInt = 34;
        int numberToCompare = Convert.ToInt32(textBox1.Text.Substring(7,2));
        if (numberToCompare == myInt)
        {
            MessageBox.Show("Vat number correct");
        }
        else
        {
            MessageBox.Show("Vat number incorrect");
        }

但我想知道为什么这是一个糟糕的方法?

4 个答案:

答案 0 :(得分:7)

在很多方面都不理想,但字符串类有EndsWith()方法。如果它与EndsWith“34”你将匹配。当然是一个简单的解决方案。

答案 1 :(得分:0)

如果textbox1.text = 876545434

if(txtBoxInput.length >  4)
{
   Textbox1.text.substring( txtBoxInput.length - 2 ,2)
}

会给你34

答案 2 :(得分:0)

String txtBoxInput = "1234567890";

try{
    //Some validation for Servy
   if(txtBoxInput!=null && txtBoxInput is String && txtBoxInput.Length>1)
   {
     String last2Numbs = txtBoxInput.Substring(txtBoxInput.Length-2);

     Int32 lasst2NumbersInt;
     bool result = Int32.TryParse(last2Numbs, out last2NumbsInt);

     if(result && last2NubsInts == MyInt)
       MessageBox.Show("Vat number correct");
     }
}
catch(Exception ServysException)
{
    MessageBox.Show("Uhhhh ohh! An over engineered simple answer threw an error: " + ServysException.Message);
}

答案 3 :(得分:0)

    int myInt = 34;
    int numberToCompare = Convert.ToInt32(textBox1.Text);
    if ((numberToCompare % 100) == myInt)
    {
        MessageBox.Show("Vat number correct");
    }