Java.io包教程

Java.math.BigDecimal类

简介

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

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

提供了两种类型的操作来操作BigDecimal&minus的比例;

  • 缩放/舍入操作

  • 小数点动作操作

此类和它的迭代器实现 Comparable 接口的所有可选方法.

类声明

以下是

public class BigDecimal
   extends Number
      implements Comparable<BigDecimal>

字段

以下是 java.math.BigDecimal class : 的字段.

  • 静态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 &minus ;舍入模式向"最近邻居"舍入,除非两个邻居都是等距的,在这种情况下,向着偶邻居舍入.

  • static int ROUND_HALF_UP : 舍入模式向"最近邻居"舍入,除非两个邻居等距,在这种情况下向上舍入.

  • static int ROUND_UNNECESSARY &minus ;舍入模式断言请求的操作具有精确的结果,因此不需要舍入.

  • static int ROUND_UP : 舍入模式从零开始舍入.

  • 静态BigDecimal TEN : 值10,标度为0.

  • 静态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)构造函数相同的字符序列,同时允许子ar指定光线并根据上下文设置进行舍入.

8

BigDecimal(char [] in,MathContext mc)

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

9

BigDecimal(double val)

此构造函数用于将double转换为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.Method&说明
1BigDecimal abs()

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

2BigDecimal abs(MathContext mc)

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

3BigDecimal add(BigDecimal augend)

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

4BigDecimal add(BigDecimal augend,MathContext mc)

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

5byte byteValueExact()

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

6int compareTo(BigDecimal val)

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

7BigDecimal divide(BigDecimal divisor)

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

8BigDecimal divide(BigDecimal divisor,int roundingMode)

此方法返回一个BigDecimal,其值为(this/divisor),其比例为this.scale().

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

此方法返回一个BigDecimal,其值为(this/divisor),其比例为指定值.

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

这个方法返回一个BigDecimal,其值为(this/divisor),其比例为指定值.

11BigDecimal divide(BigDecimal divisor,MathContext mc)

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

12BigDecimal divide(BigDecimal) divisor,RoundingMode roundingMode)

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

13BigDecimal [] divideAndRemainder(BigDecimal divisor)

此方法返回包含res的双元素BigDecimal数组ulT of divideToIntegralValue后跟两个操作数上的余数结果.

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

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

15BigDecimal divideToIntegralValue(BigDecimal divisor)

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

16BigDecimal d ivideToIntegralValue(BigDecimal divisor,MathContext mc)

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

17double doubleValue()

此方法将BigDecimal转换为double.

18boolean equals(Object x)

此方法将BigDecimal与指定的Object进行比较以获得相等.

19float floatValue()

此方法将BigDecimal转换为float.

20int hashCode()

此方法返回哈希值此BigDecimal的代码.

21int intValue()

此方法将BigDecimal转换为int.

22int intValueExact()

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

23long longValue()

此方法将BigDecimal转换为long.

24long longValueExact()

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

25BigDecimal max(BigDecimal val)

此方法返回此BigDecimal和val的最大值.

26BigDecimal min(BigDecimal val)

此方法返回此BigDecimal和val的最小值.

27BigDecimal movePointLeft(int n)

此方法返回一个BigDecimal,相当于此值,小数点向左移动n个位置.

28BigDecimal movePointRight(int n)

此方法返回一个BigDecimal,它相当于一个小数点向右移动了n位.

29BigDecimal multiply(BigDecimal multiplicand) )

此方法返回一个BigDecimal,其值为(this&times; multiplicand),其比例为(this.scale()+ multiplicand.scale()).

30BigDecimal multiply(BigDecimal multiplicand,MathContext mc)

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

31BigDecimal negate()

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

32BigDecimal否定( MathContext mc)

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

33BigDecimal plus()

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

34BigDecimal plus(MathContext mc)

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

35BigDecimal pow(int n)

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

36BigDecimal pow(int n,MathContext mc)

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

37int precision()

此方法返回此BigDecimal的精度.

38BigDecimal余数(BigDecimal divisor)

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

39BigDecimal余数(BigDecimal divisor,MathContext mc)

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

40BigDecimal round( MathContext mc)

此方法返回根据的四舍五入的BigDecimal MathContext设置.

41int scale()

此方法返回此BigDecimal的比例.

42BigDecimal scaleByPowerOfTen(int n)

此方法返回一个BigDecimal,其数值等于(this * 10 n ).

43BigDecimal setScale(int newScale)

此方法返回一个BigDecimal,其标度为指定值,其值在数值上相等到这个BigDecimal的.

44BigDecimal setScale(int newScale,int roundingMode)

此方法返回一个BigDecimal,其规模为指定值,其未缩放值是通过将此BigDecimal的未缩放值乘以或除以适当的10的幂来确定的,以维持其整体值.

45BigDecimal setScale(int newScale,RoundingMode roundingMode)

此方法返回一个BigDecimal,其标度为指定值,其未缩放值为通过将此BigDecimal的非标定值乘以或除以适当的10的幂来确定,以保持其整体价值.

46short shortValueExact()

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

47int signum()

此方法返回此签名函数BigDecimal.

48BigDecimal stripTrailingZeros()

此方法返回一个BigDecimal,它在数值上等于此值,但删除了任何尾随零来自代表.

49BigDecimal subtract(BigDecimal subtrahend)

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

50BigDecimal subtract(BigDecimal subtrahend, MathContext mc)

这种方法回归ns一个BigDecimal,其值为(this  -  subtrahend),根据上下文设置进行舍入.

51BigInteger toBigInteger()

此方法将BigDecimal转换为BigInteger.

52BigInteger toBigIntegerExact()

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

53String toEngineeringString()

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

54String toPlainString()

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

55String toString()

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

56BigDecimal ulp()

此方法返回此BigDecimal的最后一个单位的ulp大小.

57BigInteger unscaledValue()

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

58static BigDecimal valueOf(double val)

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

59static BigDecimal valueOf(long val)

此方法转换为long值到BigDecimal,标度为零.

60static BigDecimal valueOf(long unscaledVal, int scale)

此方法可翻译一个长的未缩放值和一个int缩放到BigDecimal.