婷婷同学_
c#:1:如果是textBox等控件值过滤0的话,可以使用TrimEnd('0')的方法;eg:this.textBox1.Text.TrimEnd('0'),textBox1值为0.9900,则显示为0.992:使用ToString("g0")的方法eg:0.99991000000000000.ToString("g0") 返回的值为0.99991MSSQL中:1:将小数用CAST函数转换eg:select cast(0.2000 as real) 返回为 0.2但是此方法常常因为转换的精度的问题,是数据与实际数据由差距2:使用自定义函数转换eg:create function f_convert(@a decimal(20,8))returns varchar(20)asbegindeclare @re varchar(20),@r2 varchar(20),@i intselect @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+@r2return(@re)endgo--测试数据declare @tb table(a decimal(20,8))insert into @tbselect 0.20union all select 0.21union all select 0.21989--查询select a,转换后=dbo.f_convert(a) from @tbgo--删除函数drop function f_convert/*--测试结果a 转换后---------------------- --------------------.20000000 0.2.21000000 0.21.21989000 0.21989(所影响的行数为 3 行)--*/