0

我有一个用户输入 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

4 回答 4

7

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

于 2013-08-21T18:17:19.963 回答
0

如果 textbox1.text = 876545434

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

会给你34

于 2013-08-21T18:02:37.793 回答
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);
}
于 2013-08-21T18:05:41.877 回答
0
    int myInt = 34;
    int numberToCompare = Convert.ToInt32(textBox1.Text);
    if ((numberToCompare % 100) == myInt)
    {
        MessageBox.Show("Vat number correct");
    }
于 2013-08-21T18:07:44.713 回答