Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。双精度浮点型变量double可以处理16位有效数。在实际应用中,需要对更大或者更小的数进行运算和处理。float和double只能用来做科学计算或者是工程计算,在商业计算中要用java.math.BigDecimal。BigDecimal所创建的是对象,我们不能使用传统的+、-、*、/等算术运算符直接对其对象进行数学运算,而必须调用其相对应的方法。方法中的参数也必须是BigDecimal的对象。构造器是类的特殊方法,专门用来创建对象,特别是带有参数的对象。
Loan amount:  ¥129,876,534,219,876,523.12
Interest rate: 8.765%
Interest:  ¥11,384,239,549,149,661.69

常见用法:

初始化 BigDecimal a= new BigDecimal("1.35");
对数值取值:
1.a.getScale(1,BigDecimal.ROUND_DOWN);
取一位小数,直接删除后面多余位数,故取值1.3.
2.a.getScale(1,BigDecimal.ROUND_UP);
取一位小数,删除后面位数,进一位,故取值1.4.
3.a.getScale(1,BigDecimal.ROUND_HALF_UP);
取一位小数,四舍五入,故取值1.4.
4.a.getScale(1,BigDecimal.ROUND_HALF_DOWN);
取一位小数,四舍五入,但是5也是舍弃,故取值1.3.
 

最新文章

  1. oracle视图
  2. oracle在windows下启动时报错ora-28056
  3. CentOS6.5下RPM方式安装mysql5.6.33
  4. Java基础-JVM内存回收
  5. TYVJ P1072 bomb Label:看不懂题意
  6. 剑指offer系列48---左旋转字符串
  7. 再见WCF
  8. passwnger
  9. CSS实现DIV三角形
  10. 浅谈MIPS地址对齐问题
  11. CodeForces 214B Hometask
  12. JavaEE(9) - Session EJB的生命周期、事务及拦截器
  13. Win7+CentOS双系统(一)
  14. DotNetCore跨平台~为Lind.DotNetCore框架添加单元测试的意义
  15. Dora.Interception, 为.NET Core度身打造的AOP框架[4]:演示几个典型应用
  16. 7 Make vs Do
  17. AtCoder Beginner Contest 122 解题报告
  18. Use OWIN to Self-Host ASP.NET Web API 2 来访问我的webapi
  19. python修改字典的值(update map value)
  20. maven项目update报错

热门文章

  1. docker+k8s基础篇四
  2. 【C++札记】标准输入与输出
  3. scrapy服务化持久运行
  4. 启动mysql服务器
  5. 【转】Redis 基础操作和命令
  6. C# vb .net实现对比度调整特效滤镜效果
  7. jupyter安装出现问题:安装后无法打开
  8. Java 之 web 相关概念
  9. 老毛桃制作U盘-linux
  10. XnViewer管理浏览照片、图片