Sqlserver小数保留指定位数

时间:2025-03-19 09:09:29

常用场景,数量decimal(12,4),单价decimal(12,4),计算小计金额xj(24,8),

这样在前台显示的时候会出现8位小数,非常的不友好,我们可以使用convert转换为指定位数的金额,代码如下:

convert (decimal(18,2), round(isnull(sl,0) * isnull(dj,0),2)) as xj
解释说明:

isnull(sl,0),如果sl没有填写,默认0;

isnull(sl,0)*isnull(dj,0),计算小计金额;

round(isnull(sl,0)*isnull(dj,0),2),四舍五入,保留两位,但是后面6位会显示0,例如:2.12000000。

当然,如果数据库设计一个金额字段,程序计算保存也是可以的,具体采用什么方案,根据程序的大小和数据的多少来选择。