[C#]判断输入字符串是否为数字源码

本文提供了两种实用的方法来判断输入的字符串是否为数字或整数,并详细解释了如何通过ASCII值来验证字符的有效性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

 /// <summary>
  
///判断输入字符串是否为数字
  
/// </summary>
  
/// <param name="nValue">字符串</param>
  
/// <returns></returns>

  public static bool IsNumeric(string nValue)
  
{
   
int i,iAsc,idecimal=0;
   
if(nValue.Trim()==""return false;
   
for(i=0;i<=nValue.Length-1;i++)
   
{
    iAsc
=(int)Convert.ToChar(nValue.Substring(i,1));
    
//'-'45 '.'46 '''0-9' 48-57
    if(iAsc==45)  
    
{
     
if(nValue.Length ==1)//不能只有一个负号
     {
      
return false;
     }

     
if(i!=0)   //'-'不能在字符串中间
     {
      
return false;
     }

    }

    
else if(iAsc==46)
    
{
     idecimal
++;
     
if(idecimal>1)  //如果有两个以上的小数点
      return false;
    }

    
else if(iAsc<48 || iAsc>57)
    
{
      
return false;
    }

   }

   
return true
  }


  
/// <summary>
  
///判断输入字符串是否为整数
  
/// </summary>
  
/// <param name="nValue">字符串</param>
  
/// <returns></returns>

  public static bool IsInteger(string nValue)
  
{
   
int i,iAsc;
   
if(nValue.Trim()==""return false;
   
for(i=0;i<=nValue.Length-1;i++)
   
{
    iAsc
=(int)Convert.ToChar(nValue.Substring(i,1));
    
//'-' 45 '0-9' 48-57
    if(iAsc==45)  
    
{
     
if(nValue.Length ==1)//不能只有一个负号
     {
      
return false;
     }

     
if(i!=0)   //'-'不能在字符串中间
     {
      
return false;
     }

    }

    
else if(iAsc<48 || iAsc>57)
    
{
     
return false;
    }

   }

   
return true
  }
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值