位置:首页 > > Java.math.BigDecimal类

Java.math.BigDecimal类

java.math.BigDecimal 类提供用于算术,刻度操作,舍入,比较,哈希算法和格式转换操作。

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

提供用于操作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 -- 值为0,使用刻度为0。

  • static BigDecimal ZERO -- 值为0,使用刻度为0。

类构造函数

S.N. 构造函数 & 描述
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,它是双的二进制浮点值的精确十进制表示。
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)构造,并根据上下文设置进行舍入。

类方法

S.N. 方法 & 描述
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/除数),且其首选标度为(this.scale() - divisor.scale());如果准确的商不能表示(因为它有无穷的十进制扩展),则抛出ArithmeticException。 
8 BigDecimal divide(BigDecimal divisor, int roundingMode)
此方法返回一个BigDecimal,其值为(this/除数),其标度是this.scale()。
9 BigDecimal divide(BigDecimal divisor, int scale, int roundin