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。