我是C#noob,我有这个任务。 我有TextBox,用户需要输入13位数字。 我需要检查用户是否正确填充了TextBox。只有数字才可以接受。
之后,我需要检查最后输入的(第13个)数字是否等于我从其他函数获得的int64变量。
谢谢!
答案 0 :(得分:1)
我不会告诉你在哪里放置这些代码,只是为您的条件编写代码。请尝试做一些事情,然后问一个你坚持的问题。
int j = SomeFunction();
int i = 0;
bool bIisJ = false;
if (int.TryParse("Your String", out i))
if(i.ToString().Length == 13)
bIisJ = i.ToString()[12] == j.ToString();
答案 1 :(得分:0)
假设TextBox控件的名称是Textbox1:
Textbox1.KeyPress += new System.Windows.Forms.KeyPressEventHandler(Textbox1_KeyPress);
Textbox1.MaxLength = 13;
Textbox1.Validating += new CancelEventHandler(Textbox1_Validating);
private void Textbox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (!Char.IsDigit(e.KeyChar) && !Char.IsControl(e.KeyChar))
e.Handled = true;
}
void Textbox1_Validating(object sender, CancelEventArgs e)
{
if(Textbox1.Text.Trim().Length != 13)
{
e.Cancel = true;
}
else if(Convert.ToInt64(Textbox1.Text.Trim()[12] ) != 0) {
e.Cancel = true;
}
else e.Cancel = false;
}
答案 2 :(得分:0)
public static Boolean isNumber(String test) {
char[] chars = test.ToCharArray();
foreach(char c in chars) {
int charCode = (int)c;
if(charCode < 48 || charCode > 57)
return false;
}
return true;
}
更友善的方式?