我是靠谱客的博主 瘦瘦大神,最近开发中收集的这篇文章主要介绍java biginteger 最大值_拯救你丢失的精度——BigInteger和BigDecimal类(入门),觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
![715df5941ffae5345732aeeb08cc0df5.png](https://file2.kaopuke.com:8081/files_image/2023052802/715df5941ffae5345732aeeb08cc0df5.png)
第三阶段 JAVA常见对象的学习
BigInteger和BigDecimal类
BigInteger类
(一) 构造方法:
//针对超过整数范围的运算(整数最大值:2147483647)
BigInteger(String val)
(二) 常用方法:
//加
BigInteger类
由于在运算的时候,float类型和double很容易丢失精度(下例为演示),所以为了能精确的表示、计算浮点数,Java提供了BigDecimal
public
(一) 构造方法:
我们来帖一组说明
BigDecimal
public BigDecimal(double val)
将double转换为BigDecimal ,这是double的二进制浮点值的精确十进制表示。
返回的BigDecimal是(10scale × val)是一个整数的最小值。 笔记:
- 这个构造函数的结果可能有些不可预测。 可以假设在Java中写入new BigDecimal(0.1)创建一个BigDecimal ,它完全等于0.1(非标尺值为1,比例为1),但实际上等于0.1000000000000000055511151231257827021181583404541015625。 这是因为0.1不能像double (或者作为任何有限长度的二进制分数)精确地表示。 因此,正在被传递给构造的值不是正好等于0.1,虽然表面上。
- 该String构造,在另一方面,是完全可以预测的:写new BigDecimal("0.1")创建BigDecimal这正好等于0.1,正如人们所期望的那样。 因此, 一般建议使用String constructor优先于此。
- 当double必须用作源为BigDecimal ,注意,此构造提供了一个精确的转换; 它不会将double转换为String使用Double.toString(double)方法,然后使用BigDecimal(String)构造函数相同的结果。 要获得该结果,请使用static valueOf(double)方法。
- 参数
val - double值转换为 BigDecimal 。 - 异常
NumberFormatException - 如果 val 是无限或NaN。
构造方法:建议使用 → BigDecimal(String s)
(二) 常用方法:
import
结尾:
如果内容中有什么不足,或者错误的地方,欢迎大家给我留言提出意见, 蟹蟹大家 !^_^
如果能帮到你的话,那就来关注我吧!(系列文章均会在公众号第一时间更新)
在这里的我们素不相识,却都在为了自己的梦而努力 ❤
一个坚持推送原创Java技术的公众号:理想二旬不止
![045353300dee0b04dc64980e1314c9e5.png](https://file2.kaopuke.com:8081/files_image/2023052802/045353300dee0b04dc64980e1314c9e5.png)
最后
以上就是瘦瘦大神为你收集整理的java biginteger 最大值_拯救你丢失的精度——BigInteger和BigDecimal类(入门)的全部内容,希望文章能够帮你解决java biginteger 最大值_拯救你丢失的精度——BigInteger和BigDecimal类(入门)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复