java 1.6 帮助文档
中文
链接:http://download.csdn.net/detail/qw599186875/9608735
英文
Java1.8 帮助文档
英文
中文 – 谷歌版
在线版: https://blog.fondme.cn/apidoc/jdk-1.8-google/下载链接:http://download.csdn.net/detail/qw599186875/9802192
中文 – 必应版
下载链接:http://download.csdn.net/detail/qw599186875/9839280
中文 – 有道版
在线版: https://blog.fondme.cn/apidoc/jdk-1.8-youdao/下载链接:http://download.csdn.net/detail/qw599186875/9608721
中文 – 百度版
在线版: https://blog.fondme.cn/apidoc/jdk-1.8-baidu/下载链接:http://download.csdn.net/detail/qw599186875/9608724
转载:https://www.jianshu.com/p/bcdf3ded3f56
BigDecimal:
将22.665555保留小数点后4位,四舍五入(取决于你先乘与多少,10000即后四位),一定要将值变成double,要不然会取整,还要+ "",要不然会出现很多小数
System.out.println(new BigDecimal((double)Math.round(22.665555*10000)/10000 + "").toPlainString());
当long值过大的时候,会出现数值中有E的写法,如果需要转成数字,可以用下面的方法,不过要先将数值变成String,要不然结果也不准确
System.out.println(new BigDecimal(4.592540992E7).toPlainString());
System.out.println(new BigDecimal("4.592540992E7").toPlainString());
两个double值相减,出现精度的问题,用这个api则没有
String a = "2.1";
String b = "0.7";
BigDecimal b1 = new BigDecimal(a);
BigDecimal b2 = new BigDecimal(b);
double c = b1.subtract(b2).doubleValue();
附上所有运算法则的API
加 a1.add(b1).doubleValue(); //即是 a1+b1
减 a1.subtract(b1).doubleValue() //即是a1-b1
乘 a1.multiply(b1).doubleValue() //即是a1*b1
除 a1.divide(b1).doubleValue() //即是a1/b1