+ -
当前位置:首页 → 问答吧 → 怎样用round函数实现标准的统一的小数点后面两位的显示啊?

怎样用round函数实现标准的统一的小数点后面两位的显示啊?

时间:2011-11-27

来源:互联网

我用了round(字段名,2)函数之后,发现由于有些数是整数,所以显示出来小数后面只有一个0,造成了参差不齐的情况,有些后面只显示一位,有些后面显示两位,如下:

342.0
256.23
9.26
10.0

通过sql的函数没有办法实现统一的吗?只有用程序代码控制吗?

作者: gzronald70   发布时间: 2011-11-27

用SQL code
convert(decimal(8,2),col)

作者: qianjin036a   发布时间: 2011-11-27

舍入精度小数位,两位

查表记录是不会的,只会是单个值会出现楼主的情况

--> --> (Roy)生成測試數據
 
declare @T table([Col1] decimal(18,2))
Insert @T
select 342 union all
select 256.23 union all
select 9.26 union all
select 10
 
Select ROUND([Col1],2) from @T

/*
342.00
256.23
9.26
10.00
*/[code=SQL][/code]

作者: roy_88   发布时间: 2011-11-27

楼主对比一下结果,就知道是怎么回事了,round不会在尾数填充0

真要实现可用
SQL code
SELECT ROUND(10*1.00,2)


SQL code
SELECT ROUND(10,2),round(CAST(10 as numeric(18,2)),2);
/*(No column name)    (No column name)
10    10.00
*/

作者: roy_88   发布时间: 2011-11-27

精度问题,可以通过DECIMAL来得到精确小数位。

作者: fredrickhu   发布时间: 2011-11-27

decimal(8,2) or numeric(8,2)

作者: ssp2009   发布时间: 2011-11-27