round返回数字表达式并四舍五入为指定的长度或精度。
专注于为中小企业提供网站设计、网站制作服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业二连浩特免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上千余家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
显示的界面上要求只保留到小数点后4位,发现round(表达式,4,1)可以截断小数点4位后的数字
如果写(round,4)表示对小数点后4位四舍五入,但不截断多的0
先将分子或分母或两个都转化成8小数精度以上的类型,decimal,numeric,float 都可以。
然后做除法计算,将计算结果转化为8位小数。
select convert(decimal(18,8), convert(decimal(18,8),1)/3)
select convert(decimal(18,8), 1/convert(decimal(18,8),3))
select CONVERT(decimal(18,8), convert(float,1)/3)
select CONVERT(decimal(18,8), 1/convert(float,3))
round返数字表达式并四舍五入指定度或精度
显示界面要求保留数点4位,发现round(表达式,4,1)截断数点4位数字
写(round,4)表示数点4位四舍五入,截断0
写个函数就行了 很简单 主题代码如下 可在sqlserver 直接运行
declare @aaa varchar(50)='3213.434'
if (substring(@aaa ,charindex('.',@aaa)+1,LEN(@aaa)-charindex('.',@aaa)-1) 3)
begin
print cast( cast(@aaa as numeric(18,3)) as varchar(50))
end
else
print @aaa
直接运行看打印的结果, 这里是直接截取 如果要四舍五入 用round 函数。 改成函数应该不用我说了吧 加个壳 把 print 改成 return 返回出去