判断字符串是否为数字

 

今天修改以前用ASP.NET写的一个程序,用户需要对其中的维修费用写入字符,不能再采用之前的money类型或是数值类型了,需要用字符类型。这样一来,在用GridView显示数据时,“维修费用”一列就显示不出货币形式了。所以我在显示数据之前对其中的数据判断一下,如果是数字就采用货币格式化,否则就照常输出字符样式。

首先,判断字符是否为数字,我本来想用Char.IsNumber(),也参考了一些方法,还是写简单点的。

  1. //检查字符串是否为数字 
  2. public static bool IsNum(string str)
  3. {
  4.    for(int i=0;i<str.Length;i++)
  5.    {
  6.     if(str[i]<='0' || str[i]>='9')
  7.        return false;
  8.    }
  9.    return true;
  10. }

接下来,主要就是在数据显示到GridView时作一个处理,在GridView的RowDataBound中判断:

 
  1.  protected void wxjlList_RowDataBound(object sender, GridViewRowEventArgs e)
  2.     {
  3.         if (e.Row.RowIndex != -1)
  4.         {
  5.             ...
  6.             ///处理字符串转货币的功能 
  7.             if (e.Row.Cells[4].Text.Trim() != "未知" && e.Row.Cells[4].Text.Trim() != " " && e.Row.Cells[4].Text.Trim() != "")
  8.             {
  9.                 e.Row.Cells[4].Text = string.Format("{0:c}", Convert.ToDouble(e.Row.Cells[4].Text));
  10.             }
  11.            ...
  12.         }
  13.     }
结果,“维修费用”列即使是字符,也同样可以用货币格式化了。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值