去掉小数点后面多余的0
2012-12-12 16:19
351 查看
原文出处:http://www.cnblogs.com/zhycyq/archive/2012/06/07/2539750.html
select 5000/10000.0 --想变成0.5
select 5500/10000.0 --想变成0.55
select 5550/10000.0 --想变成0.555
select 5555/10000.0 --想变成0.5555
其结果分别为:0.5000000 0.5500000 0.5550000 0.5555000
一、如果想去掉数字5后面多余的0 ,需要转化一下:
select CONVERT(FLOAT,5000/10000.0) --想变成0.5
select CONVERT(FLOAT,5500/10000.0) --想变成0.55
select CONVERT(FLOAT,5550/10000.0) --想变成0.555
select CONVERT(FLOAT,5555/10000.0) --想变成0.5555
其结果分别为: 0.5 0.55 0.555 0.5555
二、创建函数:
在sql server 建个函数ClearZero,使用这个函数去掉小数点后面多余的零。
CREATE function [dbo].[ClearZero](@inValue varchar(50))
returns varchar(50)
as
begin
declare @returnValue varchar(20)
if(@inValue='')
set @returnValue='' --空的时候为空
else if (charindex('.',@inValue) ='0')
set @returnValue=@inValue --针对不含小数点的
else if ( substring(reverse(@inValue),patindex('%[^0]%',reverse(@inValue)),1)='.')
set @returnValue =left(@inValue,len(@inValue)-patindex('%[^0]%',reverse(@inValue))) --针对小数点后全是0的
else
set @returnValue =left(@inValue,len(@inValue)- patindex('%[^0]%.%',reverse(@inValue))+1) --其他任何情形
return @returnValue
end
select 5000/10000.0 --想变成0.5
select 5500/10000.0 --想变成0.55
select 5550/10000.0 --想变成0.555
select 5555/10000.0 --想变成0.5555
其结果分别为:0.5000000 0.5500000 0.5550000 0.5555000
一、如果想去掉数字5后面多余的0 ,需要转化一下:
select CONVERT(FLOAT,5000/10000.0) --想变成0.5
select CONVERT(FLOAT,5500/10000.0) --想变成0.55
select CONVERT(FLOAT,5550/10000.0) --想变成0.555
select CONVERT(FLOAT,5555/10000.0) --想变成0.5555
其结果分别为: 0.5 0.55 0.555 0.5555
二、创建函数:
在sql server 建个函数ClearZero,使用这个函数去掉小数点后面多余的零。
CREATE function [dbo].[ClearZero](@inValue varchar(50))
returns varchar(50)
as
begin
declare @returnValue varchar(20)
if(@inValue='')
set @returnValue='' --空的时候为空
else if (charindex('.',@inValue) ='0')
set @returnValue=@inValue --针对不含小数点的
else if ( substring(reverse(@inValue),patindex('%[^0]%',reverse(@inValue)),1)='.')
set @returnValue =left(@inValue,len(@inValue)-patindex('%[^0]%',reverse(@inValue))) --针对小数点后全是0的
else
set @returnValue =left(@inValue,len(@inValue)- patindex('%[^0]%.%',reverse(@inValue))+1) --其他任何情形
return @returnValue
end
相关文章推荐
- mysql 去掉小数点后面的多余的尾0
- sqlserver把小数点后面多余的0去掉(转)
- 去掉小数点后面多余的0
- sqlserver把小数点后面多余的0去掉
- java正则表达式去掉小数点后面多余的0
- 四舍五入并且去掉小数点后面多余的零
- decimal转换字符串去掉小数点后面多余的0
- 在SQL语句中,如何去掉小数点后面多余的零?
- 去掉服务器传过来价格或者其他数字小数点后面多余的0
- sqlserver把小数点后面多余的0去掉
- sqlserver把小数点后面多余的0去掉
- 将double型小数点后面多余的零去掉
- Android去掉小数点后面多余的0
- SQL查询金额去掉小数点后面的零,以及SUBSTRING的用法
- 去掉小数后面多余的零 如1.2000除以1 等于1.2 及原理
- 使用Java正则表达式去掉Double类型的数据后面多余的0
- 七,一些字符串的处理加*号,去掉首尾多余输入的0和多余的小数点,设置属性文字
- mysql中如何去除小数点后面多余的0
- 将小数点后面的无效的0去掉
- 去掉小数点后面的0