• c#判断输入textbox是否为数字




    asp.net判断输入文字是否是数字

    方案一:
    /**//// <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 );
    注:此方法快捷,方便,很容易被掌握,但是参数很多,有兴趣的朋友可以研究一下,建议使用。
    参数不好用
    没有使用过
    方法五:
    新建一个类
    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;);
    }
    }
    }

  • 相关阅读:
    线程池
    单例设计模式
    String,StringBuffer,StringBuilder
    马踏棋盘算法
    最短路径问题 (迪杰斯特拉算法,弗洛伊德算法)
    最小生成树 修路问题(普里姆算法,克鲁斯卡尔算法)
    贪心算法 求解集合覆盖问题
    Stream 数组转换
    unittest与pytest对比
    条件编译
  • 原文地址:https://www.cnblogs.com/dekevin/p/4177722.html
Copyright © 2020-2023  润新知