Java BigDecimal 类

2025年3月20日 | 阅读 4 分钟

BigDecimal 类提供了算术、比较、哈希、舍入、操作和格式转换的操作。该方法可以高精度地处理非常小和非常大的浮点数。

在 Java 中,BigDecimal 由一个任意精度的整数值和一个 32 位整数标度组成。如果标度大于或等于零,则标度是小数点后的位数。如果标度小于零,则该数字的未标度值乘以 10 的标度负数的幂 (10^(-scale))。

示例 1

输出

Returned int value is = -36755
Returned Exact Integer Value of 63745 is = 63745

示例 2

输出

Max Value among 152207 and 179311 is = 179311
Min Value among 152207 and 128114 is = 128114

Java BigDecimal 方法

序号修饰符和类型方法描述
1BigDecimalabs()此方法返回一个 BigDecimal,其值为此 BigDecimal 的绝对值,并且其标度为 this.scale()。
2BigDecimaladd()此方法返回一个 BigDecimal,其值为 (this + augend),并且其标度为 max(this.scale(), augend.scale())。
3bytebyteValueExact()此方法用于将 BigDecimal 转换为 byte 并检查信息丢失。
4intcompareTo()此方法将此 BigDecimal 与指定的 BigDecimal 进行比较。
5BigDecimaldivide()此方法返回一个 BigDecimal,其值为 (this / divisor),并且其首选标度为 (this.scale() - divisor.scale())。
6BigDecimal[]divideAndRemainder()此方法用于返回一个包含 divideToIntegralValue 的结果和 remainder 的结果的两个元素的 BigDecimal 数组。
7BigDecimaldivideToIntegralValue()此方法用于返回一个 BigDecimal,其值为商 (this / divisor) 的整数部分,并向下舍入。
8doubledoubleValue()此方法用于将此 BigDecimal 转换为 double。
9booleanequals()此方法用于将此 BigDecimal 与指定的 Object 进行相等性比较。
10floatfloatValue()此方法用于将此 BigDecimal 转换为 float。
11inthashCode()此方法返回此 BigDecimal 的哈希码。
12intintValue()此方法用于将此 BigDecimal 转换为 int。
13intintValueExact()此方法用于将此 BigDecimal 转换为 int,并检查信息丢失。
14longlongValue()此方法将此 BigDecimal 转换为 long。
15longlongValueExact()此方法用于将此 BigDecimal 转换为 long,并检查信息丢失。
16BigDecimalmax()此方法返回此 BigDecimal 和 val 中的较大者。
17BigDecimalmin()此方法返回此 BigDecimal 和 val 中的较小者。
18BigDecimalmovePointLeft()此方法返回一个 BigDecimal,其值等同于将此处的标点符号向左移动 n 位。
19BigDecimalmovePointRight()此方法用于返回一个 BigDecimal,其值等同于将此处的标点符号向右移动 n 位。
20BigDecimalmultiply()此方法返回一个 BigDecimal,其值为 (this * multiplicand),标度为 (this.scale() + multiplicand.scale())
21BigDecimalnegate()此方法返回一个 BigDecimal,其值为 (-this),标度为 this.scale()。
22BigDecimalplus()此方法返回一个 BigDecimal,其值为 (+this),标度为 this.scale()。
23BigDecimalpow()此方法返回一个 BigDecimal,其值为 (thisn),
24intprecision()此方法返回此 BigDecimal 的精度。
25BigDecimalremainder()此方法返回一个 BigDecimal,其值为 (this % divisor)。
26BigDecimalround()此方法根据 MathContext 设置返回一个舍入后的 BigDecimal。
27intscale()此方法返回此 BigDecimal 的标度。
28BigDecimalscaleByPowerOfTen()此方法返回一个 BigDecimal,其数值等于 (this * 10^n)。
29shortshortValueExact()此方法用于将此 BigDecimal 转换为 short,并检查信息丢失。
30intsignum()此方法返回此 BigDecimal 的符号函数。
31BigDecimalstripTrailingZeros()此方法返回一个 BigDecimal,其数值等于此 BigDecimal,但删除了表示形式中的任何尾随零。
32BigDecimalSubtract()此方法返回一个 BigDecimal,其值为 (this - subtrahend),标度为 max(this.scale(), subtrahend.scale())
33BigIntegertoBigInteger()此方法用于将此 BigDecimal 转换为 BigInteger。
34BigIntegertoBigIntegerExact()此方法用于将此 BigDecimal 转换为 BigInteger,并检查信息丢失。
35StringtoEngineeringString()此方法返回此 BigDecimal 的字符串表示形式,如果需要指数,则使用工程表示法。
36StringtoString()此方法返回此 BigDecimal 的字符串表示形式
37BigDecimalulp()此方法返回此 BigDecimal 的 ulp(最后一个位置单位)的大小。
38static BigDecimalvalueOf()此方法用于将 double 转换为 BigDecimal。
 
下一主题Java BigDecimal