为了账号安全,请及时绑定邮箱和手机立即绑定

关于java问题详细见下?

关于java问题详细见下?

肥皂起泡泡 2018-08-03 13:09:07
怎么我的总金额出现了这么多为小数 ?求大佬给我解释下 
查看完整描述

2 回答

?
aluckdog

TA贡献1847条经验 获得超7个赞

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

查看完整回答
反对 回复 2018-08-13
?
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();
}

查看完整回答
反对 回复 2018-08-13
  • 2 回答
  • 0 关注
  • 897 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号