当前位置 : 主页 > 编程语言 > c++ >

BigDecimal简介

来源:互联网 收集:自由互联 发布时间:2021-06-30
BigDecimal的构造方法中,参数类型为double的,其结果有一定的不可预知性 // 二进制无法精确地表示十进制小数0.1,但是编译器读到字符串"0.1"之后,必须把它转成8个字节的double值,因此
BigDecimal的构造方法中,参数类型为double的,其结果有一定的不可预知性
// 二进制无法精确地表示十进制小数0.1,但是编译器读到字符串"0.1"之后,必须把它转成8个字节的double值,因此,编译器只能用一个最接近的值来代替0.1了,即 0.1000000000000000055511151231257827021181583404541015625。因此,在运行时,传给BigDecimal构造函数的真正的数值是0.1000000000000000055511151231257827021181583404541015625
System.out.println(new BigDecimal(0.1));//0.1000000000000000055511151231257827021181583404541015625
BigDecimal的构造方法中,参数类型为String的,其结果是完全可预知的
System.out.println(new BigDecimal("0.1"));//0.1
网友评论