我有一个用户输入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");
}
但我想知道为什么这是一个糟糕的方法?
答案 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");
}