目录

Java.math - BigDecimal

介绍 (Introduction)

java.math.BigDecimal类提供算术,缩放操作,舍入,比较,散列和格式转换的操作。

toString()方法提供了BigDecimal的规范表示。 它使用户可以完全控制舍入行为。

提供了两种类型的操作来操作BigDecimal的比例 -

  • 缩放/舍入操作
  • 小数点运动操作

此类及其迭代器实现Comparable接口的所有可选方法。

类声明

以下是java.math.BigDecimal类的声明 -

public class BigDecimal
   extends Number
      implements Comparable<BigDecimal>

字段 (Field)

以下是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 int ROUND_UP舍入。

  • static BigDecimal TEN - 值10,标度为0。

  • static BigDecimal ZERO - 值0,标度为0。

类构造函数

Sr.No. 构造函数和描述
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 val)

此构造函数用于将double转换为BigDecimal,BigDecimal是double的二进制浮点值的精确十进制表示形式。

10

BigDecimal(double val, MathContext mc)

此构造函数用于将double转换为BigDecimal,并根据上下文设置进行舍入。

11

BigDecimal(int val)

此构造函数用于将int转换为BigDecimal。

12

BigDecimal(int val, MathContext mc)

此构造函数用于将int转换为BigDecimal,并根据上下文设置进行舍入。

13

BigDecimal(long val)

此构造函数用于将long转换为BigDecimal。

14

BigDecimal(long val, MathContext mc)

此构造函数用于将BigInteger转换为BigDecimal。

15

BigDecimal(String val)

此构造函数用于将BigDecimal的字符串表示形式转换为BigDecimal。

16

BigDecimal(String val, MathContext mc)

此构造函数用于将BigDecimal的字符串表示形式转换为BigDecimal,接受与BigDecimal(String)构造函数相同的字符串,并根据上下文设置进行舍入。

类方法

Sr.No. 方法和描述
1 BigDecimal abs()

此方法返回一个BigDecimal,其值是此BigDecimal的绝对值,其标度为this.scale()。

2 BigDecimal abs(MathContext mc)

此方法返回一个BigDecimal,其值为此BigDecimal的绝对值,并根据上下文设置进行舍入。

3 BigDecimal add(BigDecimal augend)

此方法返回一个BigDecimal,其值为(this + augend),其比例为max(this.scale(),augend.scale())。

4 BigDecimal add(BigDecimal augend,MathContext mc)

此方法返回一个BigDecimal,其值为(this + augend),并根据上下文设置进行舍入。

5 byte byteValueExact()

此方法将BigDecimal转换为一个字节,检查丢失的信息。

6 int compareTo(BigDecimal val)

此方法将BigDecimal与指定的BigDecimal进行比较。

7 BigDecimal divide(BigDecimal divisor)

此方法返回一个BigDecimal,其值为(this/divisor),其首选比例为(this.scale() - divisor.scale()); 如果无法表示精确的商(因为它具有非终止的十进制扩展),则抛出ArithmeticException。

8 BigDecimal除(BigDecimal divisor,int roundingMode)

此方法返回一个BigDecimal,其值为(this/divisor),其标度为this.scale()。

9 BigDecimal除(BigDecimal divisor,int scale,int roundingMode)

此方法返回一个BigDecimal,其值为(this/divisor),其标度为指定的。

10 BigDecimal除(BigDecimal divisor,int scale,RoundingMode roundingMode)

此方法返回一个BigDecimal,其值为(this/divisor),其标度为指定的。

11 BigDecimal除(BigDecimal divisor,MathContext mc)

此方法返回一个BigDecimal,其值为(this/divisor),并根据上下文设置进行舍入。

12 BigDecimal除(BigDecimal divisor,RoundingMode roundingMode)

此方法返回一个BigDecimal,其值为(this/divisor),其标度为this.scale()。

13 BigDecimal [] divideAndRemainder(BigDecimal divisor)

此方法返回一个包含divideToIntegralValue结果的两元素BigDecimal数组,后跟两个操作数上的余数结果。

14 BigDecimal [] divideAndRemainder(BigDecimal divisor,MathContext mc)

此方法返回一个包含divideToIntegralValue结果的双元素BigDecimal数组,后跟根据上下文设置使用舍入计算的两个操作数上的余数结果。

15 BigDecimal divideToIntegralValue(BigDecimal divisor)

此方法返回一个BigDecimal,其值是向下舍入的商(this/divisor)的整数部分。

16 BigDecimal divideToIntegralValue(BigDecimal divisor,MathContext mc)

此方法返回一个BigDecimal,其值是(this/divisor)的整数部分。

17 double doubleValue()

此方法将BigDecimal转换为double。

18 boolean equals(Object x)

此方法将BigDecimal与指定的Object进行相等性比较。

19 float floatValue()

此方法将BigDecimal转换为float。

20 int hashCode()

此方法返回此BigDecimal的哈希码。

21 int intValue()

此方法将BigDecimal转换为int。

22 int intValueExact()

此方法将BigDecimal转换为int,检查丢失的信息。

23 long longValue()

此方法将BigDecimal转换为long。

24 long longValueExact()

此方法将BigDecimal转换为long,检查丢失的信息。

25 BigDecimal max(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 multiply(BigDecimal multiplicand)

此方法返回一个BigDecimal,其值为(this×multiplicand),其标度为(this.scale()+ multiplicand.scale())。

30 BigDecimal乘法(BigDecimal multiplicand,MathContext mc)

此方法返回一个BigDecimal,其值为(this×multiplicand),并根据上下文设置进行舍入。

31 BigDecimal negate()

此方法返回一个BigDecimal,其值为(+ this),其标度为this.scale()。

32 BigDecimal否定(MathContext mc)

此方法返回一个BigDecimal,其值为(-this),并根据上下文设置进行舍入。

33 BigDecimal plus()

此方法返回一个BigDecimal,其值为(+ this),其标度为this.scale()。

34 BigDecimal plus(MathContext mc)

此方法返回一个BigDecimal,其值为(+ this),并根据上下文设置进行舍入。

35 BigDecimal pow(int n)

此方法返回一个BigDecimal,其值为(此n ),精确计算功率,达到无限精度。

36 BigDecimal pow(int n,MathContext mc)

此方法返回一个BigDecimal,其值为(this n )。

37 int precision()

此方法返回此BigDecimal的精度。

38 BigDecimal remainder(BigDecimal divisor)

此方法将此BigDecimal转换为一个字节,检查丢失的信息。

39 BigDecimal余数(BigDecimal divisor,MathContext mc)

此方法返回一个BigDecimal,其值为(此%divisor),并根据上下文设置进行舍入。

40 BigDecimal round(MathContext mc)

此方法根据MathContext设置返回舍入的BigDecimal。

41 int scale()

此方法返回此BigDecimal的比例。

42 BigDecimal scaleByPowerOfTen(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 short shortValueExact()

此方法将BigDecimal转换为short,检查丢失的信息。

47 int signum()

此方法返回此BigDecimal的signum函数。

48 BigDecimal stripTrailingZeros()

此方法返回一个BigDecimal,它在数值上等于此值,但从表示中删除了任何尾随零。

49 BigDecimal减法(BigDecimal subtrahend)

此方法返回一个BigDecimal,其值为(this - subtrahend),其标度为max(this.scale(),subtrahend.scale())。

50 BigDecimal减法(BigDecimal subtrahend,MathContext mc)

此方法返回一个BigDecimal,其值为(this - subtrahend),并根据上下文设置进行舍入。

51 BigInteger toBigInteger()

此方法将BigDecimal转换为BigInteger。

52 BigInteger toBigIntegerExact()

此方法将BigDecimal转换为BigInteger,检查丢失的信息。

53 String toEngineeringString()

如果需要指数,此方法使用工程符号返回此BigDecimal的字符串表示形式。

54 String toPlainString()

此方法返回此BigDecimal的字符串表示形式,不带指数字段。

55 String toString()

如果需要指数,此方法返回此BigDecimal的字符串表示形式,使用科学记数法。

56 BigDecimal ulp()

此方法返回此BigDecimal的ulp(最后一个位置的单位)的大小。

57 BigInteger unscaledValue()

此方法返回一个BigInteger,其值为此BigDecimal的未缩放值。

58 static BigDecimal valueOf(double val)

此方法使用Double.toString(double)方法提供的double的规范字符串表示形式将double转换为BigDecimal。

59 static BigDecimal valueOf(long val)

此方法将long值转换为BigDecimal,其标度为零。

60 static BigDecimal valueOf(long unscaledVal,int scale)

此方法将长的未缩放值和int缩放转换为BigDecimal。

↑回到顶部↑
WIKI教程 @2018