double,失去精度:

amount.doubleValue() * 

使用 BigDecimal:

    public static double add(double d1,double d2){
BigDecimal b1=new BigDecimal(Double.toString(d1));
BigDecimal b2=new BigDecimal(Double.toString(d2));
return b1.add(b2).doubleValue();
} public static double sub(double d1,double d2){
BigDecimal b1=new BigDecimal(Double.toString(d1));
BigDecimal b2=new BigDecimal(Double.toString(d2));
return b1.subtract(b2).doubleValue();
} public static double mul(double d1,double d2){
BigDecimal b1=new BigDecimal(Double.toString(d1));
BigDecimal b2=new BigDecimal(Double.toString(d2));
return b1.multiply(b2).doubleValue();
} public static double div(double d1,double d2){ return div(d1,d2,DEF_DIV_SCALE);
} public static double div(double d1,double d2,int scale){
if(scale<){
throw new IllegalArgumentException("The scale must be a positive integer or zero");
}
BigDecimal b1=new BigDecimal(Double.toString(d1));
BigDecimal b2=new BigDecimal(Double.toString(d2));
return b1.divide(b2,scale,BigDecimal.ROUND_HALF_UP).doubleValue();
}

最新文章

  1. rdlc报表相关
  2. python IOError: [Errno 0] Error
  3. java.lang.IllegalStateException: Recursive entry to executePendingTransactions
  4. PHP 类型判断和NULL,空值检查
  5. Linux Linux程序练习十四(多进程压力测试)
  6. hdu1212(大数取模)
  7. 序号自增key的使用
  8. 【转】oracle 针对中文字段进行排序
  9. a标签中的href=&quot;#&quot;与href=&quot;javascript:void(0)&quot;区别
  10. 久未更 ~ 五之 —— 引入外部CSS样式表 小节
  11. bzoj3437小P的牧场 斜率优化dp
  12. 02.Numpy
  13. 微信小程序区分点击,长按事件
  14. pygame 笔记-9 图片旋转及边界反弹
  15. CRM lookup筛选
  16. SqlDataAdapter简单介绍 (转)
  17. centos安装Django之三:安装python
  18. 【Android】RxJava的使用(四)线程控制 —— Scheduler
  19. JSTL、EL的一些实践记录
  20. [MongoDB] 机器换IP之后的设置

热门文章

  1. oracle稳定执行计划(更改)的方法
  2. oracle中varchar2(2)存不了一个汉字的原因
  3. MyBatis的生命周期
  4. 容器化 RDS:你须要了解数据是怎样被写&amp;quot;坏&amp;quot;的
  5. Java基础知识(JAVA集合框架之List与Set)
  6. 2017-2018-2 20165236 实验四《Android开发基础》实验报告
  7. sap 查看类的修饰属性
  8. confd动态生成配置文件
  9. 【LeetCode每天一题】Add Two Numbers(两链表相加)
  10. js图的数据结构处理----普里姆算法