程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> 關於C# >> c#判斷輸入文字是否是數字

c#判斷輸入文字是否是數字

編輯:關於C#
 

/**//// <summary>
/// 名稱:IsNumberic
/// 功能:判斷輸入的是否是數字
/// 參數:string oText:源文本
/// 返回值: bool true:是 false:否
/// </summary>
public bool IsNumberic(string oText)
{
try
{
int var1=Convert.ToInt32 (oText);
return true;
}
catch
{
return false;
}
}
try catch方法
例:
try
{
Convert.ToInt32("123"):
Console.Write("是數字");
}
catch(Exception ex)
{
Console.Write("非數字");
}
注:如果有很多字符串要求判斷,此方法需要大量的try catch 以及finally來處理後續的程序.不建議使用此方法。
改進一下:
因為可以轉int 可以轉Decimal
public bool IsNumberic(string oText)
{
try
{
Decimal Number = Convert.ToDecimal (oText);
return true;
}
catch
{
return false;
}
}

//如果是純數字還可以采用ASCII碼進行判斷
/// <summary>
/// 判斷是否是數字
/// </summary>
/// <param name="str">字符串</param>
/// <returns>bool</returns>
public bool IsNumeric(string str)
{
if (str == null || str.Length == 0)
return false;
System.Text.ASCIIEncoding ascii = new System.Text.ASCIIEncoding();
byte[] bytestr = ascii.GetBytes(str);
foreach (byte c in bytestr)
{
if (c < 48 || c > 57)
{
return false;
}
}
return true;
}

 

方案三:
     正則表達式方法
     例:
     //引用正則表達式類
     using   System.Text.RegularExpressions; 
     Regex   reg=new   Regex("^[0-9]+$"); 
     Match   ma=reg.Match(text); 
     if(ma.Success) 
     { 
      //是數字 
     } 
     else 
     { 
     //不是數字 
     }
     注:此方法快捷,但不太容易掌握,尤其是正則表達式公式,如果有興趣的朋友可以好好研究,這東西很好用的,建議使用。


方案四:
     Double.TryParse方法
     例:
     bool isNum=System.Double.TryParse("所要判斷的字符串"  ,System.Globalization.NumberStyles.Integer,null,out );
     注:此方法快捷,方便,很容易被掌握,但是參數很多,有興趣的朋友可以研究一下,建議使用。
    參數不好用
    沒有使用過

public static bool IsNumberic(string strnum)

{
      int i = 0;
      bool result = int.TryParse(strnum, out i);
      return result;

}


方法五:
新建一個類

using System;
using System.Collections.Generic;
using System.Text.RegularExpressions;
namespace LBC.Number
{
/// <summary>
/// 數字判斷的類
/// </summary>
public class NumberClass
{
/// <summary>
/// 判斷是否是數字
/// </summary>
/// <param name="strNumber">要判斷的字符串</param>
/// <returns></returns>
public static bool IsNumber(String strNumber)
{
Regex objNotNumberPattern = new Regex("[^0-9.-]");
Regex objTwoDotPattern = new Regex("[0-9]*[.][0-9]*[.][0-9]*");
Regex objTwoMinusPattern = new Regex("[0-9]*[-][0-9]*[-][0-9]*");
String strValidRealPattern = "^([-]|[.]|[-.]|[0-9])[0-9]*[.]*[0-9]+___FCKpd___0quot;;
String strValidIntegerPattern = "^([-]|[0-9])[0-9]*___FCKpd___0quot;;
Regex objNumberPattern = new Regex("(" + strValidRealPattern + ")|(" + strValidIntegerPattern + ")");
return !objNotNumberPattern.IsMatch(strNumber) &&
!objTwoDotPattern.IsMatch(strNumber) &&
!objTwoMinusPattern.IsMatch(strNumber) &&
objNumberPattern.IsMatch(strNumber);
}
/// <summary>
/// 判斷是否是int類型
/// </summary>
/// <param name="Value">要判斷的字符串</param>
/// <returns></returns>
public static bool IsInt(string Value)
{
return Regex.IsMatch(Value, @"^[+-]?/d*___FCKpd___0quot;);
}
/// <summary>
/// 判斷是否是數字
/// </summary>
/// <param name="Value">要判斷的字符串</param>
/// <returns></returns>
public static bool IsNumeric(string Value)
{
return Regex.IsMatch(Value, @"^[+-]?/d*[.]?/d*___FCKpd___0quot;);
}
}
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved