zoukankan      html  css  js  c++  java
  • DataGrid列中如何去掉小数后的零

        1:在datagridview C#当中,可以使用TrimEnd('0')的方法;但是前提它的数据源中的字段是数字类型。

       例: bomDT.Columns.Add("percent", typeof(decimal));
            bomDT.Columns.Add("leftQty", typeof(decimal));

           dr["percent"] = percent.ToString().TrimEnd('0');

           dr["leftQty"] = leftqty.ToString().TrimEnd('0');


     

        1:如果是textBox等控件值过滤0的话,可以使用TrimEnd('0')的方法;
          eg:this.textBox1.Text.TrimEnd('0'),textBox1值为0.9900,则显示为0.99
      2:使用ToString("g0")的方法
          eg:0.99991000000000000.ToString("g0") 返回的值为0.99991
    MSSQL中:
      1:将小数用CAST函数转换
          eg:select cast(0.2000 as real) 返回为 0.2
            但是此方法常常因为转换的精度的问题,是数据与实际数据由差距
       2:使用自定义函数转换
          eg:

     create   function   f_convert(@a   decimal(20,8))   
      
    returns   varchar(20)   
      
    as   
      
    begin   
      
    declare   @re   varchar(20),@r2   varchar(20),@i   int   
      
    select   @re=convert(varchar(20),@a)   
      ,
    @i=charindex('.',@re)   
      ,
    @r2=reverse(substring(@re,@i,20))   
      ,
    @r2=reverse(substring(@r2,patindex('%[^0]%',@r2),20))   
      ,
    @re=left(@re,@i-1)   
      
    if   @r2<>'.'   set   @re=@re+@r2   
      
    return(@re)   
      
    end   
      
    go   
        
      
    --测试数据   
      declare   @tb   table(a   decimal(20,8))   
      
    insert   into   @tb     
      
    select   0.20   
      
    union   all   select   0.21   
      
    union   all   select   0.21989   
        
      
    --查询   
      select   a,转换后=dbo.f_convert(a)   from   @tb   
      
    go   
        
      
    --删除函数   
      drop   function   f_convert   
        
      
    /*--测试结果   
      a                                             转换后                                       
      ----------------------   --------------------     
      .20000000                             0.2   
      .21000000                             0.21   
      .21989000                             0.21989   
        
      (所影响的行数为   3   行)   
      --
    */

     

  • 相关阅读:
    Ubuntu 18.04 安装博通(Broadcom)无线网卡驱动
    Python3漏洞扫描工具 ( Python3 插件式框架 )
    Linux 防火墙
    基于Python3的漏洞检测工具 ( Python3 插件式框架 )
    git学习笔记
    sublime text 3 优化配置
    win10 出现0x80072efd错误
    Ubuntu搭建NFS服务器,NFS协议详细分析
    docker实现跨主机连接
    Python-RabbitMQ(持久化)
  • 原文地址:https://www.cnblogs.com/lbg280/p/1500422.html
Copyright © 2011-2022 走看看