2 xiaoyan94 xiaoyan94 于 2016.04.17 18:03 提问

关于Java的BigDecimal类处理小数点的问题

double C = a + b + c;
return new BigDecimal(C).setScale(2, BigDecimal.ROUND_HALF_UP);
上面这个输出结果没问题。但是如果不创建C,直接
return new BigDecimal(a+b+c).setScale(2, BigDecimal.ROUND_HALF_UP);
这样输出的结果就不对了。。。。为什么??
图片说明

2个回答

caozhy
caozhy   Ds   Rxr 2016.04.17 18:12

关键看a b c是什么类型的
试试看
return new BigDecimal((double)(a+b+c)).setScale(2, BigDecimal.ROUND_HALF_UP);

CSDNXIAOD
CSDNXIAOD   2016.04.18 08:42

JAVA BigDecimal 小数点处理
JAVA BigDecimal 小数点处理
JAVA BigDecimal 小数点处理
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!