2 回答

aluckdog
TA贡献1847条经验 获得超7个赞
因为你定义的 PriceZong 用的是 Double 类型, JVM对double类型计算的时候,后面就是会有很多小数,这是由JVM对 double 类型值的计算方法导致的。
建议你将金额 priceZong定义为 BigDecimal 类型,在以后的开发过程中,遇到银行的金钱问题、经济相关,都可以用 BigDecimal 来对“金钱”进行定义。

LEATH
TA贡献1936条经验 获得超6个赞
因为一些精度的问题,double的话你可以使用
**
* 提供精确到百分位的限制,你可以自己修改显示几个小数
*/
public static Double limit(Double dou) {
DecimalFormat df = new DecimalFormat("#.00");
return Double.valueOf(df.format(dou));
}
比如你加发可以用调用这个方法
v1 被加数
v2 加数
public static double add(double v1,double v2){
BigDecimal b1 = new BigDecimal(Double.toString(v1));
BigDecimal b2 = new BigDecimal(Double.toString(v2));
return b1.add(b2).doubleValue();
}
添加回答
举报
0/150
提交
取消