mysql sum 统计字段数值类型是double出现精度失真问题

最近在报表统计信息时候,统计的字段值都是double类型的小数,使用sum累计求和的时候,意外出现很多位的小数

mysql sum 统计字段数值类型是double出现精度失真问题

mysql sum 统计字段数值类型是double出现精度失真问题


解决方法:将字段值转为指定精度的decimal数值,在进行sum求和,例如cast (字段 as  decimal(18,2))可以指定精度


mysql sum 统计字段数值类型是double出现精度失真问题

mysql sum 统计字段数值类型是double出现精度失真问题

ok 就这样结束。亦或者在java后台程序使用Bigdecimal 类对数据进行四舍五入处理