- Java.math package classes
- Java.math - Home
- Java.math - BigDecimal
- Java.math - BigInteger
- Java.math - MathContext
- Java.math package extras
- Java.math - Enumerations
- Java.math - Discussion
Java.math.BigDecimal 类
介绍
java.math.BigDecimal类提供算术、比例操作、舍入、比较、散列和格式转换等操作。
toString() 方法提供 BigDecimal 的规范表示。它使用户可以完全控制舍入Behave。
提供了两种类型的操作来操纵 BigDecimal 的范围 -
- 缩放/舍入操作
- 小数点移动运算
此类及其迭代器实现了Comparable接口的所有可选方法。
类声明
以下是java.math.BigDecimal类的声明-
public class BigDecimal extends Number implements Comparable<BigDecimal>
场地
以下是java.math.BigDecimal类的字段-
static BigDecimal ONE - 值 1,小数位数为 0。
static int ROUND_CEILING - 向正无穷大舍入的舍入模式。
static int ROUND_DOWN - 向零舍入的舍入模式。
static int ROUND_FLOOR - 向负无穷大舍入的舍入模式。
static int ROUND_HALF_DOWN - 舍入模式向“最近邻居”舍入,除非两个邻居等距,在这种情况下,向下舍入。
static int ROUND_HALF_EVEN - 舍入模式向“最近邻居”舍入,除非两个邻居等距,在这种情况下,向偶数邻居舍入。
static int ROUND_HALF_UP - 舍入模式向“最近邻居”舍入,除非两个邻居等距,在这种情况下向上舍入。
static int ROUND_UNNECESSARY - 舍入模式断言所请求的操作具有准确的结果,因此不需要舍入。
static int ROUND_UP - 从零舍入的舍入模式。
static BigDecimal TEN - 值 10,小数位数为 0。
static BigDecimal ZERO - 值 0,小数位数为 0。
类构造函数
先生。 | 构造函数及描述 |
---|---|
1 | BigDecimal(BigInteger val) 此构造函数用于将 BigInteger 转换为 BigDecimal。 |
2 | BigDecimal(BigInteger unscaledVal, int scale) 此构造函数用于将 BigInteger 未缩放值和 int 缩放值转换为 BigDecimal。 |
3 | BigDecimal(BigInteger unscaledVal, int scale, MathContext mc) 此构造函数用于将 BigInteger 未缩放值和 int 缩放值转换为 BigDecimal,并根据上下文设置进行舍入。 |
4 | BigDecimal(BigInteger val, MathContext mc) 此构造函数用于根据上下文设置将 BigInteger 转换为 BigDecimal 舍入。 |
5 | BigDecimal(char[ ] in) 此构造函数用于将 BigDecimal 的字符数组表示形式转换为 BigDecimal,接受与 BigDecimal(String) 构造函数相同的字符序列。 |
6 | BigDecimal(char[ ] in, int offset, int len) 此构造函数用于将 BigDecimal 的字符数组表示形式转换为 BigDecimal,接受与 BigDecimal(String) 构造函数相同的字符序列,同时允许指定子数组。 |
7 | BigDecimal(char[ ] in, int offset, int len, MathContext mc) 此构造函数用于将 BigDecimal 的字符数组表示形式转换为 BigDecimal,接受与 BigDecimal(String) 构造函数相同的字符序列,同时允许指定子数组并根据上下文设置进行舍入。 |
8 | BigDecimal(char[ ] in, MathContext mc) 此构造函数用于将 BigDecimal 的字符数组表示形式转换为 BigDecimal,接受与 BigDecimal(String) 构造函数相同的字符序列,并根据上下文设置进行舍入。 |
9 | BigDecimal(双值) 此构造函数用于将 double 转换为 BigDecimal,后者是 double 的二进制浮点值的精确十进制表示形式。 |
10 | BigDecimal(double val, MathContext mc) 此构造函数用于将 double 转换为 BigDecimal,并根据上下文设置进行舍入。 |
11 | BigDecimal(整数值) 此构造函数用于将 int 转换为 BigDecimal。 |
12 | BigDecimal(int val, MathContext mc) 此构造函数用于将 int 转换为 BigDecimal,并根据上下文设置进行舍入。 |
13 | BigDecimal(长值) 此构造函数用于将 long 转换为 BigDecimal。 |
14 | BigDecimal(long val, MathContext mc) 此构造函数用于将 BigInteger 转换为 BigDecimal。 |
15 | BigDecimal(字符串值) 此构造函数用于将 BigDecimal 的字符串表示形式转换为 BigDecimal。 |
16 | BigDecimal(字符串 val, MathContext mc) 此构造函数用于将 BigDecimal 的字符串表示形式转换为 BigDecimal,接受与 BigDecimal(String) 构造函数相同的字符串,并根据上下文设置进行舍入。 |
类方法
先生。 | 方法及说明 |
---|---|
1 | 大十进制abs()
此方法返回一个 BigDecimal,其值是此 BigDecimal 的绝对值,其小数位数是 this.scale()。 |
2 | BigDecimal 绝对值(MathContext mc)
此方法返回一个 BigDecimal,其值是此 BigDecimal 的绝对值,并根据上下文设置进行舍入。 |
3 | BigDecimal 加法(BigDecimal 被加数)
此方法返回一个 BigDecimal,其值为 (this + augend),其小数位数为 max(this.scale(), augend.scale())。 |
4 | BigDecimal add(BigDecimal 被加数, MathContext mc)
此方法返回一个 BigDecimal,其值为 (this + 被加数),并根据上下文设置进行舍入。 |
5 | 字节 byteValueExact()
此方法将 BigDecimal 转换为字节,检查丢失的信息。 |
6 | int CompareTo(BigDecimal val)
此方法将 BigDecimal 与指定的 BigDecimal 进行比较。 |
7 | BigDecimal 除法(BigDecimal 除数)
此方法返回一个 BigDecimal,其值为 (this / divisor),其首选小数位数为 (this.scale() - divisor.scale());如果无法表示精确的商(因为它具有非终止小数扩展),则会抛出 ArithmeticException。 |
8 | BigDecimal 除法(BigDecimal 除数, int roundingMode)
此方法返回一个 BigDecimal,其值为 (this / divisor),其小数位数为 this.scale()。 |
9 | BigDecimal 除法(BigDecimal 除数, int scale, int roundingMode)
此方法返回一个 BigDecimal,其值为 (this / divisor),其小数位数与指定的相同。 |
10 | BigDecimal 除法(BigDecimal 除数, int scale, RoundingMode roundingMode)
此方法返回一个 BigDecimal,其值为 (this / divisor),其小数位数与指定的相同。 |
11 | BigDecimal 除法(BigDecimal 除数,MathContext mc)
此方法返回一个 BigDecimal,其值为 (this / divisor),并根据上下文设置进行舍入。 |
12 | BigDecimal 除法(BigDecimal 除数, RoundingMode roundingMode)
此方法返回一个 BigDecimal,其值为 (this / divisor),其小数位数为 this.scale()。 |
13 | BigDecimal[ ]divideAndRemainder(BigDecimal 除数)
此方法返回一个两元素的 BigDecimal 数组,其中包含divideToIntegralValue 的结果,后跟两个操作数的余数结果。 |
14 | BigDecimal[ ] divergeAndRemainder(BigDecimal 除数, MathContext mc)
此方法返回一个两元素的 BigDecimal 数组,其中包含divideToIntegralValue 的结果,后跟根据上下文设置进行舍入计算的两个操作数的余数结果。 |
15 | BigDecimal 除数ToIntegralValue(BigDecimal 除数)
此方法返回一个 BigDecimal,其值是向下舍入的商(this / 除数)的整数部分。 |
16 | BigDecimal 除数ToIntegralValue(BigDecimal 除数, MathContext mc)
此方法返回一个 BigDecimal,其值为 (this / divisor) 的整数部分。 |
17 号 | 双倍双值()
此方法将 BigDecimal 转换为 double。 |
18 | 布尔值等于(对象x)
此方法将 BigDecimal 与指定的 Object 进行比较是否相等。 |
19 | 浮动浮动值()
此方法将 BigDecimal 转换为浮点数。 |
20 | int 哈希码()
此方法返回此 BigDecimal 的哈希码。 |
21 | int intValue()
此方法将 BigDecimal 转换为 int。 |
22 | int intValueExact()
此方法将 BigDecimal 转换为 int,检查丢失的信息。 |
23 | 长长值()
此方法将 BigDecimal 转换为 long。 |
24 | 长长值精确()
此方法将 BigDecimal 转换为 long,检查丢失的信息。 |
25 | BigDecimal 最大值(BigDecimal val)
此方法返回此 BigDecimal 和 val 的最大值。 |
26 | BigDecimal min(BigDecimal val)
此方法返回此 BigDecimal 和 val 的最小值。 |
27 | BigDecimal movePointLeft(int n)
此方法返回一个 BigDecimal,它相当于小数点向左移动 n 位的 BigDecimal。 |
28 | BigDecimal movePointRight(int n)
此方法返回一个 BigDecimal,它相当于小数点向右移动 n 位的 BigDecimal。 |
29 | BigDecimal 乘法(BigDecimal 被乘数)
此方法返回一个 BigDecimal,其值为 (this × multiplicand),其小数位数为 (this.scale() + multiplicand.scale())。 |
30 | BigDecimal 乘法(BigDecimal 被乘数,MathContext mc)
此方法返回一个 BigDecimal,其值为 (this × 被乘数),并根据上下文设置进行舍入。 |
31 | BigDecimal 求反()
此方法返回一个 BigDecimal,其值为 (+this),其小数位数为 this.scale()。 |
32 | BigDecimal 求反(MathContext mc)
此方法返回一个 BigDecimal,其值为 (-this),并根据上下文设置进行舍入。 |
33 | BigDecimal 加()
此方法返回一个 BigDecimal,其值为 (+this),其小数位数为 this.scale()。 |
34 | BigDecimal plus(MathContext mc)
此方法返回一个 BigDecimal,其值为 (+this),并根据上下文设置进行舍入。 |
35 | BigDecimal pow(int n)
此方法返回一个 BigDecimal,其值为 (this n ),精确计算幂,精度不受限制。 |
36 | BigDecimal pow(int n, MathContext mc)
此方法返回一个 BigDecimal,其值为 (this n )。 |
37 | int精度()
此方法返回此 BigDecimal 的精度。 |
38 | BigDecimal 余数(BigDecimal 除数)
此方法将此 BigDecimal 转换为字节,检查丢失的信息。 |
39 | BigDecimal 余数(BigDecimal 除数,MathContext mc)
此方法返回一个 BigDecimal,其值为 (this % 除数),并根据上下文设置进行舍入。 |
40 | BigDecimal 轮(MathContext mc)
此方法返回根据 MathContext 设置舍入的 BigDecimal。 |
41 | int 标度()
此方法返回此 BigDecimal 的小数位数。 |
42 | BigDecimal 标度ByPowerOfTen(int n)
此方法返回一个 BigDecimal,其数值等于 (this * 10 n )。 |
43 | BigDecimal setScale(int newScale)
此方法返回一个 BigDecimal,其小数位数为指定值,并且其值在数值上等于此 BigDecimal。 |
44 | BigDecimal setScale(int newScale, int roundingMode)
此方法返回一个 BigDecimal,其小数位数为指定值,其未缩放值是通过将此 BigDecimal 的未缩放值乘以或除以适当的 10 次幂来确定的,以保持其总体值。 |
45 | BigDecimal setScale(int newScale, RoundingMode roundingMode)
此方法返回一个 BigDecimal,其小数位数为指定值,其未缩放值是通过将此 BigDecimal 的未缩放值乘以或除以适当的 10 次幂来确定的,以保持其总体值。 |
46 | 短 ShortValueExact()
此方法将 BigDecimal 转换为短整型,检查丢失的信息。 |
47 | int 符号()
此方法返回此 BigDecimal 的符号函数。 |
48 | BigDecimal stripTrailingZeros()
此方法返回一个 BigDecimal,它在数值上与此相同,但从表示形式中删除了所有尾随零。 |
49 | BigDecimal减法(BigDecimal减数)
此方法返回一个 BigDecimal,其值为 (this - subtrahend),其小数位数为 max(this.scale(), subtrahend.scale())。 |
50 | BigDecimal 减法(BigDecimal 减数,MathContext mc)
此方法返回一个 BigDecimal,其值为(this - 减数),并根据上下文设置进行舍入。 |
51 | BigInteger 到BigInteger()
此方法将 BigDecimal 转换为 BigInteger。 |
52 | BigInteger 到BigIntegerExact()
此方法将 BigDecimal 转换为 BigInteger,检查丢失的信息。 |
53 | 字符串到工程字符串()
此方法返回此 BigDecimal 的字符串表示形式,如果需要指数,则使用工程符号。 |
54 | 字符串到PlainString()
此方法返回此 BigDecimal 的字符串表示形式,不带指数字段。 |
55 | 字符串转字符串()
此方法返回此 BigDecimal 的字符串表示形式,如果需要指数,则使用科学计数法。 |
56 | BigDecimal ulp()
此方法返回 ulp 的大小,即此 BigDecimal 的最后一位单位。 |
57 | BigInteger unscaledValue()
此方法返回一个 BigInteger,其值是此 BigDecimal 的未缩放值。 |
58 | 静态 BigDecimal valueOf(double val)
此方法使用 Double.toString(double) 方法提供的 double 规范字符串表示形式将 double 转换为 BigDecimal。 |
59 | 静态 BigDecimal valueOf(long val)
此方法将 long 值转换为小数位数为零的 BigDecimal。 |
60 | 静态 BigDecimal valueOf(long unscaledVal, int scale)
此方法将 long 未缩放值和 int 缩放值转换为 BigDecimal。 |