概述
BigDeaimal类(大浮点)
一.为什么要有BigDeaimal?
首先上来先整个活,来举一个 栗子
public class Test3{
public static void main(String[] args) {
System.out.println(0.2 + 0.1);
System.out.println(0.7 - 0.5);
System.out.println(0.1 * 0.3);
System.out.println(0.3 / 0.1);
}
}
这段代码的输出结果为: 0.30000000000000004 0.19999999999999996 0.03 2.9999999999999996
为什么会出现这种情况?
因为无论是fioat还是double都是浮点数,而计算机是二进制的,浮点数在运算时就会丢失精度
注:
出现这个问题的根本原因是:
十进制数通常没有完全相同的二进制表示形式;十进制的二进制数的表示形式可能不精确,只能无限接近整数
二.BigDeaimal类概述
-
位于java.math包中
-
用来对超过16位有效的数字进行精确的运算
-
使用BigDeaimal创建对象后不能直接使用"+ ,- ,* ,/"等运算,要调用相应的方法来进行运算
三.构造器
①BigDeaimal(int)
//创建一个具有参数指定整数值的对象
②BigDeaimal(double)
//创建一个具有参数所指定双精度值的对象
③BigDeaimal(long)
//创建一个具有参数指定长整数值的对象
④BigDeaimal(String)
//创建一个具有参数指定以字符串表示数值的对象,推荐使用
四.常用方法
①add(BigDeaimal)
//在BigDeaimal对象中添加相应值,并返回这个对象
②subtract(BigDeaimal)
//在BigDeaimal对象中减去相应值,并返回这个对象
③multiply(BigDeaimal)
//将BigDeaimal对象中的值相乘,并返回这个对象
④divide(BigDeaimal)
//将BigDeaimal对象中的值相除,并返回这个对象
⑤toString()
//将BigDeaimal对象转换成字符串
最后
以上就是寂寞小天鹅为你收集整理的Java API之BigDeaimal[详解]BigDeaimal类(大浮点)的全部内容,希望文章能够帮你解决Java API之BigDeaimal[详解]BigDeaimal类(大浮点)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复