`

BigInteger和BigDecimal--数字运算精度的设置

 
阅读更多

在《Effective Java》这本书中也提到这个原则,float和double只能用来做科学计算或

者是工程计算,在商业计算中我们要用 java.math.BigDecimal。

 

BigDecimal(double val)  long float int 都可以

BigDecimal(String val)

代码:

BigDecimal bigd1 = new BigDecimal(2.00f);
  BigDecimal bigd2 = new BigDecimal(1.99f);
  BigDecimal bigd3 = bigd1.subtract(bigd2);
  bigd3= bigd3.setScale(4, BigDecimal.ROUND_HALF_UP); //四舍五入

System.out.println(bigd3);//

 

结果是:0.0100

 

直接代码

System.out.println(2.00f-1.99f);//

结果可能是 0.00999999

分享到:
评论

相关推荐

    java-BigInteger-BigDecimal类源码

    在Java编程语言中,`BigInteger`和`BigDecimal`是两个重要的类,它们分别用于处理大整数和高精度浮点数。这两个类位于`java.math`包下,为开发者提供了超越基本数据类型(如int、long和double)的计算能力。在深入...

    BigInteger BigDecimal 使用

    在Java编程语言中,`BigInteger`和`BigDecimal`是两个重要的类,用于处理大整数和高精度浮点数运算。这两个类属于`java.math`包,为开发者提供了超越普通`int`、`long`以及`float`和`double`类型的数值计算能力。 `...

    BigDecimal 加减乘除运算

    Java中BigInteger的数学运算,BigDecimal 加减乘除运算,Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。双精度浮点型变量double可以处理16位有效数。在实际应用中,需要对更大...

    BigNumerics:BigInteger,BigDecimal和BigFloat。-开源

    综上所述,BigNumerics是一个强大的、全面的高精度数值计算库,它结合了BigInteger、BigDecimal和BigFloat的优点,提供了丰富的数学函数和矩阵运算,尤其适合需要精确计算的领域。同时,作为开源项目,它促进了技术...

    redscale:用于 JavaScriptClojureScript 的 BigInteger、BigDecimal 和 Ratio 库

    Ratio对象可以存储两个整数的比率,支持常见的数学运算,并且可以与BigInteger和BigDecimal对象进行转换,使得在处理各种类型的数字时具有更大的灵活性。 **ClojureScript兼容性** 除了JavaScript,红鳞库还支持...

    day13_API-异常.pdf

    Java 语言中提供了多种数学类来帮助开发者进行数学运算,包括 Math、BigInteger 和 BigDecimal 类。这些类提供了丰富的数学方法,帮助开发者快速高效地进行数学运算。 Math 类 Java 的 Math 类是 java.lang 包中的...

    java练习_大数运算_BigInteger.pdf

    - `BigInteger`不支持浮点数运算,如果需要进行高精度浮点数运算,可以使用`BigDecimal`类。 总之,`BigInteger`是Java中处理大数运算的关键工具,它允许开发者在需要精确计算和不受限制的整数范围时进行操作。这...

    BigDecimal向Double转换

    在Java编程语言中,BigDecimal是一种用于处理高精度数值的数据类型,尤其适用于金融计算等领域,因为它可以提供不受限的小数位数精度以及精确的数学运算能力。然而,在某些情况下,我们可能需要将BigDecimal类型的值...

    java基础--4.常用类-6.数字

    在处理大整数或者高精度浮点数时,Java提供了BigInteger和BigDecimal类。这两个类允许我们进行任意精度的算术运算,适合于需要精确计算的场景。 总之,Java中的数字处理涵盖了许多方面,从基本的数据类型到复杂的...

    Java实用经验总结--日期、数字篇

    Java 语言在处理日期和数字方面提供了丰富的工具和方法,这篇总结主要关注Java中的日期处理和数字处理。在处理日期时,我们常常需要考虑到不同国家和地区的日期格式,但在这个经验总结中,我们将集中讨论不涉及国际...

    javaInteger大数据运算.pdf

    本示例代码展示了如何使用`BigInteger`和`BigDecimal`类来执行大数据的四则运算,确保结果的准确性和精确性。 首先,让我们详细了解这两个类: 1. `BigInteger` 类:这是Java中的一个内置类,位于`java.math`包下...

    20151910042-刘鹏-MC实验01-编程平台实验1

    BigInteger提供了无限制大小的整数运算,而BigDecimal则用于进行任意精度的浮点数运算。分析这两个类库的构成和各个方法,有助于深入理解它们在密码学中的应用,比如在加密算法中进行大数运算。 此外,刘鹏还搜索了...

    关于Biginteger的分数类期末课程设计

    6. **其他辅助方法**:可能还需要实现`equals`和`hashCode`方法,以及将分数转换为BigDecimal(如果需要进行浮点运算)或其他类型的辅助方法。 在进行期末课程设计时,你可能会遇到性能优化的问题,因为BigInteger...

    浅谈Java中的高精度整数和高精度小数

    本文主要介绍了 Java 中的高精度整数和高精度小数,以及如何使用 BigInteger 和 BigDecimal 类来处理高精度整数和高精度小数。在实际应用中,这些知识点非常重要,可以帮助我们更好地处理大整数和小数,避免计算误差...

    JAVA11培训课堂 2020版 部分笔记.doc

    在JAVA11的培训课程中,我们关注了两个重要的大数字操作类——BigInteger和BigDecimal,它们都位于`java.math`包中,用于处理超过普通整型和浮点型所能表示的大数字。 首先,BigInteger类是Java提供的无符号整数类...

    BigDecimal计算

    6. **精度控制**:`scale()`方法获取或设置小数位数,`precision()`获取总位数(包括整数部分和小数部分)。`setScale(int newScale, RoundingMode roundingMode)`用于调整小数位数并根据指定的舍入模式处理超出的...

    Java编写的大数运算

    `BigDecimal`提供了构造函数来创建任意精度的数字,以及多种方法来进行加、减、乘、除等运算,并且可以控制舍入模式,避免浮点数运算中的精度损失问题。 在项目描述中提到了“运用了类的特性”,这通常意味着项目中...

    将 BigDecimal 类型转换为 Integer 类型.pdf

    BigDecimal 类型是 Java 提供的一种用于精确算术运算的类,它支持任意大小的十进制数,并且能够避免浮点数计算时可能出现的舍入误差。然而,有时我们需要将这些大数转换为整数类型,如 Integer,以便于存储或者进行...

    ACM 比赛中对编程语言(JAVA)的感悟

    BigInteger 和BigDecimal,两个用字符串实现的大整数和大十进制类,它们可以处理任意长度和精度的整数与十进制数,其中的有许多方法高效实现了大整数与大十进制数的各种运算,对于BigDecimal 还可以设置精度。...

Global site tag (gtag.js) - Google Analytics