你定义的方式有问题。
double g= 12.35; 定义了一个g=12.34444444444444449,假如是这个数
new BigDecimal(g) g还是12.34444444444444449
new BigDecimal(g).setScale(1, BigDecimal.ROUND_HALF_UP); 12.34
double g= 12.35; 定义了一个g=12.34444444444444449,假如是这个数
new BigDecimal(g) g还是12.34444444444444449
new BigDecimal(g).setScale(1, BigDecimal.ROUND_HALF_UP); 12.34
正确的定义方式是使用字符串构造函数
Double.toString(itemTotalPrice)