JavaTM Platform
Standard Ed. 6

类 java.math.BigDecimal
的使用

使用 BigDecimal 的软件包
java.math 提供用于执行任意精度整数算法 (BigInteger) 和任意精度小数算法 (BigDecimal) 的类。 
java.sql 提供使用 JavaTM 编程语言访问并处理存储在数据源(通常是一个关系数据库)中的数据的 API。 
java.util 包含 collection 框架、遗留的 collection 类、事件模型、日期和时间设施、国际化和各种实用工具类(字符串标记生成器、随机数生成器和位数组)。 
javax.management.openmbean 提供开放数据类型和 Open MBean 描述符类。 
javax.sql 为通过 JavaTM 编程语言进行服务器端数据源访问和处理提供 API。 
javax.sql.rowset JDBC RowSet 实现的标准接口和基类。 
javax.sql.rowset.serial 提供实用工具类,允许 SQL 类型与 Java 编程语言数据类型之间的可序列化映射关系。 
javax.xml.bind 为包含解组、编组和验证功能的客户端应用程序提供运行时绑定框架。 
javax.xml.datatype XML/Java 类型映射关系。 
org.omg.CORBA 提供 OMG CORBA API 到 JavaTM 编程语言的映射,包括 ORB 类,如果已实现该类,则程序员可以使用此类作为全功能对象请求代理(Object Request Broker,ORB)。 
org.omg.CORBA.portable 提供可移植性层,即可以使一个供应商生成的代码运行在另一个供应商 ORB 上的 ORB API 集合。 
 

java.mathBigDecimal 的使用
 

声明为 BigDecimaljava.math 中的字段
static BigDecimal BigDecimal.ONE
          值为 1,标度为 0。
static BigDecimal BigDecimal.TEN
          值为 10,标度为 0。
static BigDecimal BigDecimal.ZERO
          值为 0,标度为 0。
 

返回 BigDecimaljava.math 中的方法
 BigDecimal BigDecimal.abs()
          返回 BigDecimal,其值为此 BigDecimal 的绝对值,其标度为 this.scale()
 BigDecimal BigDecimal.abs(MathContext mc)
          返回其值为此 BigDecimal 绝对值的 BigDecimal(根据上下文设置进行舍入)。
 BigDecimal BigDecimal.add(BigDecimal augend)
          返回一个 BigDecimal,其值为 (this + augend),其标度为 max(this.scale(), augend.scale())
 BigDecimal BigDecimal.add(BigDecimal augend, MathContext mc)
          返回其值为 (this + augend)BigDecimal(根据上下文设置进行舍入)。
 BigDecimal BigDecimal.divide(BigDecimal divisor)
          返回一个 BigDecimal,其值为 (this / divisor),其首选标度为 (this.scale() - divisor.scale());如果无法表示准确的商值(因为它有无穷的十进制扩展),则抛出 ArithmeticException
 BigDecimal BigDecimal.divide(BigDecimal divisor, int roundingMode)
          返回一个 BigDecimal,其值为 (this / divisor),其标度为 this.scale()
 BigDecimal BigDecimal.divide(BigDecimal divisor, int scale, int roundingMode)
          返回一个 BigDecimal,其值为 (this / divisor),其标度为指定标度。
 BigDecimal BigDecimal.divide(BigDecimal divisor, int scale, RoundingMode roundingMode)
          返回一个 BigDecimal,其值为 (this / divisor),其标度为指定标度。
 BigDecimal BigDecimal.divide(BigDecimal divisor, MathContext mc)
          返回其值为 (this / divisor)BigDecimal(根据上下文设置进行舍入)。
 BigDecimal BigDecimal.divide(BigDecimal divisor, RoundingMode roundingMode)
          返回一个 BigDecimal,其值为 (this / divisor),其标度为 this.scale()
 BigDecimal[] BigDecimal.divideAndRemainder(BigDecimal divisor)
          返回由两个元素组成的 BigDecimal 数组,该数组包含 divideToIntegralValue 的结果,后跟对两个操作数计算所得到的 remainder
 BigDecimal[] BigDecimal.divideAndRemainder(BigDecimal divisor, MathContext mc)
          返回由两个元素组成的 BigDecimal 数组,该数组包含 divideToIntegralValue 的结果,后跟根据上下文设置对两个操作数进行舍入计算所得到的 remainder 的结果。
 BigDecimal BigDecimal.divideToIntegralValue(BigDecimal divisor)
          返回 BigDecimal,其值为向下舍入所得商值 (this / divisor) 的整数部分。
 BigDecimal BigDecimal.divideToIntegralValue(BigDecimal divisor, MathContext mc)
          返回 BigDecimal,其值为 (this / divisor) 的整数部分。
 BigDecimal BigDecimal.max(BigDecimal val)
          返回此 BigDecimalval 的最大值。
 BigDecimal BigDecimal.min(BigDecimal val)
          返回此 BigDecimalval 的最小值。
 BigDecimal BigDecimal.movePointLeft(int n)
          返回一个 BigDecimal,它等效于将该值的小数点向左移动 n 位。
 BigDecimal BigDecimal.movePointRight(int n)
          返回一个 BigDecimal,它等效于将该值的小数点向右移动 n 位。
 BigDecimal BigDecimal.multiply(BigDecimal multiplicand)
          返回一个 BigDecimal,其值为 (this × multiplicand),其标度为 (this.scale() + multiplicand.scale())
 BigDecimal BigDecimal.multiply(BigDecimal multiplicand, MathContext mc)
          返回其值为 (this × multiplicand)BigDecimal(根据上下文设置进行舍入)。
 BigDecimal BigDecimal.negate()
          返回 BigDecimal,其值为 (-this),其标度为 this.scale()
 BigDecimal BigDecimal.negate(MathContext mc)
          返回其值为 (-this)BigDecimal(根据上下文设置进行舍入)。
 BigDecimal BigDecimal.plus()
          返回 BigDecimal,其值为 (+this),其标度为 this.scale()
 BigDecimal BigDecimal.plus(MathContext mc)
          返回其值为 (+this)BigDecimal(根据上下文设置进行舍入)。
 BigDecimal BigDecimal.pow(int n)
          返回其值为 (thisn)BigDecimal,准确计算该幂,使其具有无限精度。
 BigDecimal BigDecimal.pow(int n, MathContext mc)
          返回其值为 (thisn)BigDecimal
 BigDecimal BigDecimal.remainder(BigDecimal divisor)
          返回其值为 (this % divisor)BigDecimal
 BigDecimal BigDecimal.remainder(BigDecimal divisor, MathContext mc)
          返回其值为 (this % divisor)BigDecimal(根据上下文设置进行舍入)。
 BigDecimal BigDecimal.round(MathContext mc)
          返回根据 MathContext 设置进行舍入后的 BigDecimal
 BigDecimal BigDecimal.scaleByPowerOfTen(int n)
          返回其数值等于 (this * 10n) 的 BigDecimal。
 BigDecimal BigDecimal.setScale(int newScale)
          返回一个 BigDecimal,其标度为指定值,其值在数值上等于此 BigDecimal 的值。
 BigDecimal BigDecimal.setScale(int newScale, int roundingMode)
          返回一个 BigDecimal,其标度为指定值,其非标度值通过此 BigDecimal 的非标度值乘以或除以十的适当次幂来确定,以维护其总值。
 BigDecimal BigDecimal.setScale(int newScale, RoundingMode roundingMode)
          返回 BigDecimal,其标度为指定值,其非标度值通过此 BigDecimal 的非标度值乘以或除以十的适当次幂来确定,以维护其总值。
 BigDecimal BigDecimal.stripTrailingZeros()
          返回数值上等于此小数,但从该表示形式移除所有尾部零的 BigDecimal
 BigDecimal BigDecimal.subtract(BigDecimal subtrahend)
          返回一个 BigDecimal,其值为 (this - subtrahend),其标度为 max(this.scale(), subtrahend.scale())
 BigDecimal BigDecimal.subtract(BigDecimal subtrahend, MathContext mc)
          返回其值为 (this - subtrahend)BigDecimal(根据上下文设置进行舍入)。
 BigDecimal BigDecimal.ulp()
          返回此 BigDecimal 的 ulp(最后一位的单位)的大小。
static BigDecimal BigDecimal.valueOf(double val)
          使用 Double.toString(double) 方法提供的 double 规范的字符串表示形式将 double 转换为 BigDecimal
static BigDecimal BigDecimal.valueOf(long val)
          将 long 值转换为具有零标度的 BigDecimal
static BigDecimal BigDecimal.valueOf(long unscaledVal, int scale)
          将 long 非标度值和 int 标度转换为 BigDecimal
 

参数类型为 BigDecimaljava.math 中的方法
 BigDecimal BigDecimal.add(BigDecimal augend)
          返回一个 BigDecimal,其值为 (this + augend),其标度为 max(this.scale(), augend.scale())
 BigDecimal BigDecimal.add(BigDecimal augend, MathContext mc)
          返回其值为 (this + augend)BigDecimal(根据上下文设置进行舍入)。
 int BigDecimal.compareTo(BigDecimal val)
          将此 BigDecimal 与指定的 BigDecimal 比较。
 BigDecimal BigDecimal.divide(BigDecimal divisor)
          返回一个 BigDecimal,其值为 (this / divisor),其首选标度为 (this.scale() - divisor.scale());如果无法表示准确的商值(因为它有无穷的十进制扩展),则抛出 ArithmeticException
 BigDecimal BigDecimal.divide(BigDecimal divisor, int roundingMode)
          返回一个 BigDecimal,其值为 (this / divisor),其标度为 this.scale()
 BigDecimal BigDecimal.divide(BigDecimal divisor, int scale, int roundingMode)
          返回一个 BigDecimal,其值为 (this / divisor),其标度为指定标度。
 BigDecimal BigDecimal.divide(BigDecimal divisor, int scale, RoundingMode roundingMode)
          返回一个 BigDecimal,其值为 (this / divisor),其标度为指定标度。
 BigDecimal BigDecimal.divide(BigDecimal divisor, MathContext mc)
          返回其值为 (this / divisor)BigDecimal(根据上下文设置进行舍入)。
 BigDecimal BigDecimal.divide(BigDecimal divisor, RoundingMode roundingMode)
          返回一个 BigDecimal,其值为 (this / divisor),其标度为 this.scale()
 BigDecimal[] BigDecimal.divideAndRemainder(BigDecimal divisor)
          返回由两个元素组成的 BigDecimal 数组,该数组包含 divideToIntegralValue 的结果,后跟对两个操作数计算所得到的 remainder
 BigDecimal[] BigDecimal.divideAndRemainder(BigDecimal divisor, MathContext mc)
          返回由两个元素组成的 BigDecimal 数组,该数组包含 divideToIntegralValue 的结果,后跟根据上下文设置对两个操作数进行舍入计算所得到的 remainder 的结果。
 BigDecimal BigDecimal.divideToIntegralValue(BigDecimal divisor)
          返回 BigDecimal,其值为向下舍入所得商值 (this / divisor) 的整数部分。
 BigDecimal BigDecimal.divideToIntegralValue(BigDecimal divisor, MathContext mc)
          返回 BigDecimal,其值为 (this / divisor) 的整数部分。
 BigDecimal BigDecimal.max(BigDecimal val)
          返回此 BigDecimalval 的最大值。
 BigDecimal BigDecimal.min(BigDecimal val)
          返回此 BigDecimalval 的最小值。
 BigDecimal BigDecimal.multiply(BigDecimal multiplicand)
          返回一个 BigDecimal,其值为 (this × multiplicand),其标度为 (this.scale() + multiplicand.scale())
 BigDecimal BigDecimal.multiply(BigDecimal multiplicand, MathContext mc)
          返回其值为 (this × multiplicand)BigDecimal(根据上下文设置进行舍入)。
 BigDecimal BigDecimal.remainder(BigDecimal divisor)
          返回其值为 (this % divisor)BigDecimal
 BigDecimal BigDecimal.remainder(BigDecimal divisor, MathContext mc)
          返回其值为 (this % divisor)BigDecimal(根据上下文设置进行舍入)。
 BigDecimal BigDecimal.subtract(BigDecimal subtrahend)
          返回一个 BigDecimal,其值为 (this - subtrahend),其标度为 max(this.scale(), subtrahend.scale())
 BigDecimal BigDecimal.subtract(BigDecimal subtrahend, MathContext mc)
          返回其值为 (this - subtrahend)BigDecimal(根据上下文设置进行舍入)。
 

java.sqlBigDecimal 的使用
 

返回 BigDecimaljava.sql 中的方法
 BigDecimal CallableStatement.getBigDecimal(int parameterIndex)
          以 java.math.BigDecimal 对象的形式获取指定 JDBC NUMERIC 参数的值,小数点右边的位数与该参数值所包含的位数相同。
 BigDecimal ResultSet.getBigDecimal(int columnIndex)
          以具有全精度的 java.math.BigDecimal 的形式获取此 ResultSet 对象的当前行中指定列的值。
 BigDecimal CallableStatement.getBigDecimal(int parameterIndex, int scale)
          已过时。 使用 getBigDecimal(int parameterIndex)getBigDecimal(String parameterName)
 BigDecimal ResultSet.getBigDecimal(int columnIndex, int scale)
          已过时。  
 BigDecimal CallableStatement.getBigDecimal(String parameterName)
          以 java.math.BigDecimal 对象的形式获取 JDBC NUMERIC 参数的值,小数点右边的位数与该参数值所包含的位数相同。
 BigDecimal ResultSet.getBigDecimal(String columnLabel)
          以具有全精度的 java.math.BigDecimal 的形式获取此 ResultSet 对象的当前行中指定列的值。
 BigDecimal ResultSet.getBigDecimal(String columnLabel, int scale)
          已过时。  
 BigDecimal SQLInput.readBigDecimal()
          读取流中的下一个属性并将其作为 Java 编程语言中的 java.math.BigDecimal 对象返回。
 

参数类型为 BigDecimaljava.sql 中的方法
 void PreparedStatement.setBigDecimal(int parameterIndex, BigDecimal x)
          将指定参数设置为给定 java.math.BigDecimal 值。
 void CallableStatement.setBigDecimal(String parameterName, BigDecimal x)
          将指定参数设置为给定 java.math.BigDecimal 值。
 void ResultSet.updateBigDecimal(int columnIndex, BigDecimal x)
          用 java.math.BigDecimal 值更新指定列。
 void ResultSet.updateBigDecimal(String columnLabel, BigDecimal x)
          用 java.sql.BigDecimal 值更新指定列。
 void SQLOutput.writeBigDecimal(BigDecimal x)
          将下一个属性作为 java.math.BigDecimal 对象写入流中。
 

java.utilBigDecimal 的使用
 

返回 BigDecimaljava.util 中的方法
 BigDecimal Scanner.nextBigDecimal()
          将输入信息的下一个标记扫描为一个 BigDecimal
 

javax.management.openmbeanBigDecimal 的使用
 

类型参数类型为 BigDecimaljavax.management.openmbean 中的字段
static SimpleType<BigDecimal> SimpleType.BIGDECIMAL
          SimpleType 实例,该实例描述其 Java 类名称为 java.math.BigDecimal 的值。
 

javax.sqlBigDecimal 的使用
 

参数类型为 BigDecimaljavax.sql 中的方法
 void RowSet.setBigDecimal(int parameterIndex, BigDecimal x)
          将此 RowSet 对象命令中的指定参数设置为给定的 java.math.BigDeciaml 值。
 void RowSet.setBigDecimal(String parameterName, BigDecimal x)
          将指定参数设置为给定的 java.math.BigDecimal 值。
 

javax.sql.rowsetBigDecimal 的使用
 

参数类型为 BigDecimaljavax.sql.rowset 中的方法
 void BaseRowSet.setBigDecimal(int parameterIndex, BigDecimal x)
          将指定参数设置为给定的 java.lang.BigDecimal 值。
 void BaseRowSet.setBigDecimal(String parameterName, BigDecimal x)
          将指定参数设置为给定的 java.math.BigDecimal 值。
 

javax.sql.rowset.serialBigDecimal 的使用
 

返回 BigDecimaljavax.sql.rowset.serial 中的方法
 BigDecimal SQLInputImpl.readBigDecimal()
          以 java.math.BigDecimal 的形式获取此 SQLInputImpl 对象中的下一个属性。
 

参数类型为 BigDecimaljavax.sql.rowset.serial 中的方法
 void SQLOutputImpl.writeBigDecimal(BigDecimal x)
          将 Java 编程语言中的 java.math.BigDecimal 对象写入此 SQLOutputImpl 对象。
 

javax.xml.bindBigDecimal 的使用
 

返回 BigDecimaljavax.xml.bind 中的方法
static BigDecimal DatatypeConverter.parseDecimal(String lexicalXSDDecimal)
           将字符串参数转换为一个 BigDecimal 值。
 BigDecimal DatatypeConverterInterface.parseDecimal(String lexicalXSDDecimal)
           将字符串参数转换为一个 BigDecimal 值。
 

参数类型为 BigDecimaljavax.xml.bind 中的方法
static String DatatypeConverter.printDecimal(BigDecimal val)
           将 BigDecimal 值转换为一个字符串。
 String DatatypeConverterInterface.printDecimal(BigDecimal val)
           将 BigDecimal 值转换为一个字符串。
 

javax.xml.datatypeBigDecimal 的使用
 

返回 BigDecimaljavax.xml.datatype 中的方法
abstract  BigDecimal XMLGregorianCalendar.getFractionalSecond()
          返回小数秒。
 

参数类型为 BigDecimaljavax.xml.datatype 中的方法
abstract  Duration Duration.multiply(BigDecimal factor)
          计算新的持续时间,其值是此持续时间值的 factor 倍。
abstract  Duration DatatypeFactory.newDuration(boolean isPositive, BigInteger years, BigInteger months, BigInteger days, BigInteger hours, BigInteger minutes, BigDecimal seconds)
          获取 Duration 的新实例,该 Duration 根据 isPositive、years、months、days、hours、minutes、seconds 的值确定。
abstract  XMLGregorianCalendar DatatypeFactory.newXMLGregorianCalendar(BigInteger year, int month, int day, int hour, int minute, int second, BigDecimal fractionalSecond, int timezone)
          W3C XML 模式 1.0 推荐考虑完整值空间的构造方法,该方法用于 xsd:dateTime 和相关的内置数据类型。
 XMLGregorianCalendar DatatypeFactory.newXMLGregorianCalendarTime(int hours, int minutes, int seconds, BigDecimal fractionalSecond, int timezone)
          创建 XML 模式内置数据类型 time 的 Java 实例。
abstract  void XMLGregorianCalendar.setFractionalSecond(BigDecimal fractional)
          设置小数秒。
 void XMLGregorianCalendar.setTime(int hour, int minute, int second, BigDecimal fractional)
          将时间设置为一个单元,包括可选无限精度小数秒。
 

org.omg.CORBABigDecimal 的使用
 

声明为 BigDecimalorg.omg.CORBA 中的字段
 BigDecimal FixedHolder.value
          FixedHolder 保存的值。
 

返回 BigDecimalorg.omg.CORBA 中的方法
 BigDecimal Any.extract_fixed()
          提取此 Any 对象 value 字段中的 java.math.BigDecimal 对象。
 

参数类型为 BigDecimalorg.omg.CORBA 中的方法
 void Any.insert_fixed(BigDecimal value)
          抛出 org.omg.CORBA.NO_IMPLEMENT 异常。
 void Any.insert_fixed(BigDecimal value, TypeCode type)
          抛出 org.omg.CORBA.NO_IMPLEMENT 异常。
 

参数类型为 BigDecimalorg.omg.CORBA 中的构造方法
FixedHolder(BigDecimal initial)
          构造 FixedHolder,并使用给定值初始化。
 

org.omg.CORBA.portableBigDecimal 的使用
 

返回 BigDecimalorg.omg.CORBA.portable 中的方法
 BigDecimal InputStream.read_fixed()
          读取一个 BigDecimal 数。
 

参数类型为 BigDecimalorg.omg.CORBA.portable 中的方法
 void OutputStream.write_fixed(BigDecimal value)
          写入一个 BigDecimal 数。
 


JavaTM Platform
Standard Ed. 6

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策