设为首页 加入收藏

TOP

Java浮点数精确计算
2017-02-08 08:16:47 】 浏览:4729
Tags:Java 点数 精确 计算

在使用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);//错误


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇C++标准库中各种排序归纳 下一篇Python标准类型的分类

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目