java基础学习API之BigDecimal类 九-5
来源:互联网 发布:m audio声卡驱动mac 编辑:程序博客网 时间:2024/05/22 04:54
BigDecimal类
不可变的、任意精度的有符号十进制数
package fanxing;import java.math.BigDecimal;/** * BigDecimal * @author Angus *不可变的、任意精度的有符号十进制数 * *构造: *public BigDecimal(double val)将 double 转换为 BigDecimal,后者是 double 的二进制浮点值准确的十进制表示形式 *注意 此构造方法的结果有一定的不可预知性 *public BigDecimal(String val) BigDecimal 的字符串表示形式转换为 BigDecimal 可以预知 *成员方法: *add(BigDecimal augend) 加 * *subtract(BigDecimal subtrahend) 减 *返回一个 BigDecimal,其值为 (this - subtrahend),其标度为 max(this.scale(), subtrahend.scale())。 * *multiply(BigDecimal multiplicand) 乘 *返回一个 BigDecimal,其值为 (this × multiplicand),其标度为 (this.scale() + multiplicand.scale())。 * *divide(BigDecimal divisor, int scale, int roundingMode) 除 *返回一个 BigDecimal,其值为 (this / divisor),其标度为指定标度。如果必须执行舍入,以生成具有指定标度的结果,则应用指定的舍入模式。 *参数: *divisor - 此 BigDecimal 要除以的值。 *scale - 要返回的 BigDecimal 商的标度。 *roundingMode - 要应用的舍入模式 */public class BigDecimalDemo {public static void main(String[] args) {//基本double类型运算double d1 = 2.0;double d2 = 1.1;System.out.println(d1+d2); //3.1System.out.println(d1-d2); //0.8999999999999999System.out.println(d1*d2);//2.2System.out.println(d1/d2);//1.8181818181818181//方式一 public BigDecimal(double val) 不可预测性BigDecimal bd1 = new BigDecimal(2.0);BigDecimal bd2 = new BigDecimal(1.1);System.out.println(bd1.add(bd2)); //3.100000000000000088817841970012523233890533447265625System.out.println(bd1.subtract(bd2));//0.899999999999999911182158029987476766109466552734375System.out.println(bd1.multiply(bd2)); //2.200000000000000177635683940025046467781066894531250System.out.println(bd1.divide(bd2, 2,BigDecimal.ROUND_UP)); //ROUND_UP舍入远离零的舍入模式。 //1.82//方式二BigDecimal bd3 = new BigDecimal("2.0");BigDecimal bd4 = new BigDecimal("1.1");System.out.println(bd3.add(bd4)); //3.1System.out.println(bd3.subtract(bd4));//0.9System.out.println(bd3.multiply(bd4)); //2.20System.out.println(bd3.divide(bd4, 2,BigDecimal.ROUND_UP)); //ROUND_UP舍入远离零的舍入模式。 //1.82//结论 方式二适应开发中。。。。}}
结果;
这样就可以精确小数位而不存在精度问题了。。。。
1 0
- java基础学习API之BigDecimal类 九-5
- java基础之BigDecimal类
- Java 之 BigDecimal类学习
- Java基础之BigInteger,BigDecimal
- java学习之BigInteger类、BigDecimal类
- Java之BigDecimal类
- java基础学习集合之list实现类 九-3
- 【Java基础】Math包之BigDecimal
- java基础之九
- 学习笔记之java.math.bigdecimal类的精确计算
- java基础学习API之String类 六-1
- java基础学习API之StringBuffer类 六-2
- java基础学习API之Integer类 六-3
- java工具类之BigDecimal
- Java之BigDecimal类使用
- java基础学习API之其它类和总结 六-5
- Java基础----BigDecimal
- 【Java基础】BigDecimal
- Wireshark实战分析之UDP协议
- 让webpack+vue-cil项目不再自动打开浏览器
- cmd findstr 字符串查找增强使用说明
- c++pp 7.13.2
- 用MATLAB对图像进行采样处理
- java基础学习API之BigDecimal类 九-5
- 【BZOJ 4557】【JLOI 2016】侦查守卫
- map 转化表单字符串
- Android图形绘制之——贴图的艺术
- 前端总结·基础篇·CSS(一)布局
- Wireshark实战分析之TCP协议
- Linux centos安装redis
- 程序的链接方式
- 【转】windows的 fsutil命令