仿朋友圈网站建设,成都有哪些网站建设的公司,中文个人网站欣赏,哪里能注册免费的网站在 Java 中提供了用于大数字运算的类#xff0c;即 java.math.BigInteger 类和 java.math.BigDecimal 类。这两个类用于高精度计算#xff0c;其中 BigInteger 类是针对整型大数字的处理类#xff0c;而 BigDecimal 类是针对大小数的处理类。今天主要讲一下 BigDecimal 类
…在 Java 中提供了用于大数字运算的类即 java.math.BigInteger 类和 java.math.BigDecimal 类。这两个类用于高精度计算其中 BigInteger 类是针对整型大数字的处理类而 BigDecimal 类是针对大小数的处理类。今天主要讲一下 BigDecimal 类
BigDecimal 类 BigInteger 和 BigDecimal 都能实现大数字的运算不同的是 BigDecimal 加入了小数的概念。一般的 float 和 double 类型数据只能用来做科学计算或工程计算但由于在商业计算中要求数字精度比较高所以要用到 BigDecimal 类。BigDecimal 类支持任何精度的浮点数可以用来精确计算货币值。
BigDecimal 常用的构造方法如下。 BigDecimal(double val)实例化时将双精度型转换为 BigDecimal 类型。 BigDecimal(String val)实例化时将字符串形式转换为 BigDecimal 类型。 BigDecimal 类的方法可以用来做超大浮点数的运算像加、减、乘和除等。在所有运算中除法运算是最复杂的因为在除不尽的情况下末位小数的处理方式是需要考虑的。 下面列出了 BigDecimal 类用于实现加、减、乘和除运算的方法。 BigDecimal add(BigDecimal augend) // 加法操作 BigDecimal subtract(BigDecimal subtrahend) // 减法操作 BigDecimal multiply(BigDecimal multiplieand) // 乘法操作 BigDecimal divide(BigDecimal divisor,int scale,int roundingMode ) // 除法操作 其中divide() 方法的 3 个参数分别表示除数、商的小数点后的位数和近似值处理模式。 下表列出了 roundingMode 参数支持的处理模式。 例 编写一个 Java 程序演示如何使用 BigDecimal 类提供的方法对数字执行运算并输出结果。具体实现代码如下 import java.math.BigDecimal; import java.util.Scanner; public class Test10 { public static void main(String[] args) { Scanner input new Scanner(System.in); System.out.println(请输入一个数字); // 保存用户输入的数字 double num input.nextDouble(); // 使用输入的数字创建 BigDecimal 对象 BigDecimal bd new BigDecimal(num); // 计算大数字加上 99.154 的结果 System.out.println(加法操作结果 bd.add(new BigDecimal(99.154))); // 计算大数字减去-25.157904 的结果 System.out.println(减法操作结果 bd.subtract(new BigDecimal(-25.157904))); // 计算大数字乘以 3.5 的结果 System.out.println(乘法操作结果 bd.multiply(new BigDecimal(3.5))); // 计算大数字除以 3.14 的结果并保留小数后 2 位 System.out.println(除法操作结果(保留 2 位小数) bd.divide(new BigDecimal(3.14), 2, BigDecimal.ROUND_CEILING)); // 计算大数字除以 3.14 的结果并保留小数后 5 位 System.out.println(除法操作结果(保留 5 位小数) bd.divide(new BigDecimal(3.14), 5, BigDecimal.ROUND_CEILING)); } } 上述代码将用户输入的数字保存到 num 变量中然后调用“newBigDecimal(num)”方法来创建 BigDecimal 对象。接下来的代码演示了如何调用 BigDecimal 类提供的运算方法运行效果如下所示。 请输入一个数字 100 加法操作结果199.15399999999999636202119290828704833984375 减法操作结果125.157903999999998490011421381495893001556396484375 乘法操作结果350.0 除法操作结果(保留 2 位小数)31.85 除法操作结果(保留 5 位小数)31.84714