不是整數就能自動報錯,這個方法該怎么弄啊。。。。新手求解。
uj5u.com熱心網友回復:
刻意使用 int.TryPase 函式。uj5u.com熱心網友回復:
雖然比較難用,可以使用 tryParseuj5u.com熱心網友回復:
1、從源頭上杜絕這種錯誤,做正則限制,讓非數字輸入不進去2、Int.TryParse,回傳false就是報錯咯
uj5u.com熱心網友回復:
int result=0;int.TryParse(num,ref result);
uj5u.com熱心網友回復:
用正則運算式,例如:private void textBox1_Leave(object sender, EventArgs e)
{
if (!Regex.IsMatch(textBox1.Text.ToString(), @"^-?[1-9]\d*$|^0$"))
{
MessageBox.Show("請輸入數字");
textBox1.SelectAll();
return;
}
}
只能輸入負整數,0,正整數,否則要提示輸入數字
uj5u.com熱心網友回復:
要是web的,有個驗證控制元件,拖進去一個,直接設定屬性就行,更方便uj5u.com熱心網友回復:
可以為輸入的文本框添加一個KeyPress事件,只允許用戶輸入數字和退格,那肯定是整數了哇
private void TextBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar != '\b' && !Char.IsDigit(e.KeyChar))
{
e.Handled = true;
}
else
{
MessageBox.Show("請輸入整數","型別錯誤",MessageBoxButtons.OK,MessageBoxIcon.Error);
}
}
uj5u.com熱心網友回復:
進來看看學習了uj5u.com熱心網友回復:
聽樓主的意思是想要 用戶輸入完后,若不是數字則提示用戶錯誤。1.限制用戶只能輸入數字
或者2.不限制內容,放一個label在此textbox后面,先隱藏這個label,當textbox失去焦點時,
判斷int.TryParse(num,ref result);是否為數字,若不是,則修改label的text為“只能輸入數字”,并且顯示出來。
或者3.網上查詢ajax實時驗證用戶名。
uj5u.com熱心網友回復:
1、輸入時正則控制。2、 int.TryParse()
public static bool IsNumber(object sNum)
{
long num; //臨時變數
if (sNum == null)
{
return false; //如果傳入的值為NULL,回傳False
}
if (long.TryParse(sNum.ToString(), out num)) //嘗試轉換傳入的值
return true; //成功回傳True
else
return false; //失敗回傳False
}
uj5u.com熱心網友回復:
我也是這樣判斷的
uj5u.com熱心網友回復:
假設輸入的整數為 numif(num.GetTypeCode() == TypeCode.Int32)
{
//如果num為整數執行
}
else
{
//否則num不為整數
}
上面是判斷的整數
先回傳型別,再和指定的型別做判斷!
uj5u.com熱心網友回復:
你直接設定textbox 只能輸入數字不就可以了。。。。。。uj5u.com熱心網友回復:
試試用取模??uj5u.com熱心網友回復:
private bool IsNumeric(string str){
if (str == null || str.Length == 0)
{
return false;
}
var reg = new Regex(@"^\+?[1-9]0-9]*$"); //正整數
var result = reg.IsMatch(str);
return result;
}
uj5u.com熱心網友回復:
bool isScs= int.TryParse("S", out int result);
bool isScs = int.TryParse("111", out int result);
推薦這個方法。
uj5u.com熱心網友回復:
用正則運算式判定uj5u.com熱心網友回復:
判斷,可用if陳述句,可以試試uj5u.com熱心網友回復:
使用TryParse方法啊轉載請註明出處,本文鏈接:https://www.uj5u.com/net/131120.html
標籤:C#
