为了能到远方,脚下的每一步都不能少.|

TranquilGlow

园龄:2年7个月粉丝:1关注:0

📂Java
🔖java
2023-08-16 11:30阅读: 30评论: 0推荐: 0

大数介绍

如果基本的整数类型和浮点类型精确度还不够满足需求,那么可以使用javamath包中的BigInteger和BigDecimal类。这些类的对象代表了数字,该数字有任意长序列的位数。BigInteger类实现了任意精度整数计算,BigDecimal对浮点数有同样的实现。

BigInteger类的静态方法valueOf将long型转换为BigInteger: 例如

BigInteger n = BigInteger.valueof(876543210123456789L);

我们也可以用数字字符串构造

BigInteger:BigInteger k = new BigInteger("9876543210123456789");

Java不允许对象使用操作符,因此操作大数的时候,必须使用方法调用,

BigInteger r = BigInteger.valueOf(5).multiply(n.add(k)); // r = 5* (n + k)

BigDecima1类能计算出准确结果。
调用BigDecimal.valueof(n, e)返回BigDecimal示例,其值为nx10e次方

利用这个大数进行浮点数的减法运算

当我们进行浮点数的减法运算的时候可能会丢失精度,比如2.0-1.1=0.8999999999999

但是如果我们用这个BigDecimal.substract的话就不会丢失结果

BigDecimal.valueOf(2, 0 ).substract(BigDecimal.valueOf(11,

运算的结果精确为0.9

本文作者:TranquilGlow

本文链接:https://www.cnblogs.com/xuehaiqiule/p/17633604.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   TranquilGlow  阅读(30)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起