手机版
你好,游客 登录 注册
背景:
阅读新闻

Java浮点数精确计算

[日期:2017-02-01] 来源:Linux社区  作者:升云t [字体: ]

在使用Java语言编写程序处理一些有关于金额或者精度很高的数据时,通常会使用到一个叫做 BigDecimal的类。

BigDecimal是一个封装过的类用于计算一些对结果格式有要求的数值。

下面是一个例子:
 public static void main(String[] args) {
  double money1 = 2.0;
  double price1 = 1.102;
  System.out.println("非精确:"+(money1-price1));
  BigDecimal money2 = new BigDecimal("2");
  BigDecimal price2 = new BigDecimal(String.valueOf(price1));
  System.out.println("精确:"+(money2.subtract(price2)));
  System.out.println("加一下"+(money2.add(price2)));
  System.out.println("乘一下"+(money2.multiply((price2))));
  System.out.println("除一下"+(price2.divide(money2)));
 }

实现的步骤时,首先需要将两个进行计算的数字封装成BigDecimal类型的数据,然后,通过调用BigDecimal类的add(BigDecimal)、subtract(BigDecimal)、multiply(BigDecimal)、divide(BigDecimal)方法进行相应的加减乘除。

注意:在进行创建BigDecimal对象时,构造方法中传入的值需是字符串,即:

        BigDecimal money = new BigDecimal("1.1");//正确

        BigDecimal money1 = new BigDecimal(1.1);//错误

本文永久更新链接地址http://www.linuxidc.com/Linux/2017-02/140091.htm

linux
相关资讯       Java浮点数精确计算  Java浮点数 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款