BigDecimal
abs()
返回BigDecimal,其值为此BigDecimal的绝对值,其标度为this.scale()。
BigDecimal
abs(MathContext mc)
返回其值为此BigDecimal绝对值的BigDecimal(根据上下文设置进行舍入)。
BigDecimal
add(BigDecimal augend)
返回一个BigDecimal,其值为(this + augend),其标度为max(this.scale(), augend.scale())。
BigDecimal
add(BigDecimal augend, MathContext mc)
返回其值为(this + augend)的BigDecimal(根据上下文设置进行舍入)。
byte
byteValueExact()
将此BigDecimal转换为byte,以检查丢失的信息。
int
compareTo(BigDecimal val)
将此BigDecimal与指定的BigDecimal比较。
BigDecimal
divide(BigDecimal divisor)
返回一个BigDecimal,其值为(this / divisor),其首选标度为(this.scale() - divisor.scale());如果无法表示准确的商值(因为它有无穷的十进制扩展),则抛出ArithmeticException。
BigDecimal
divide(BigDecimal divisor, int roundingMode)
返回一个BigDecimal,其值为(this / divisor),其标度为this.scale()。
BigDecimal
divide(BigDecimal divisor, int scale, int roundingMode)
返回一个BigDecimal,其值为(this / divisor),其标度为指定标度。
BigDecimal
divide(BigDecimal divisor, int scale, RoundingMode roundingMode)
返回一个BigDecimal,其值为(this / divisor),其标度为指定标度。
BigDecimal
divide(BigDecimal divisor, MathContext mc)
返回其值为(this / divisor)的BigDecimal(根据上下文设置进行舍入)。
BigDecimal
divide(BigDecimal divisor, RoundingMode roundingMode)
返回一个BigDecimal,其值为(this / divisor),其标度为this.scale()。
BigDecimal[]
divideAndRemainder(BigDecimal divisor)
返回由两个元素组成的BigDecimal数组,该数组包含divideToIntegralValue的结果,后跟对两个操作数计算所得到的remainder。
BigDecimal[]
divideAndRemainder(BigDecimal divisor, MathContext mc)
返回由两个元素组成的BigDecimal数组,该数组包含divideToIntegralValue的结果,后跟根据上下文设置对两个操作数进行舍入计算所得到的remainder的结果。
BigDecimal
divideToIntegralValue(BigDecimal divisor)
返回BigDecimal,其值为向下舍入所得商值(this / divisor)的整数部分。
BigDecimal
divideToIntegralValue(BigDecimal divisor, MathContext mc)
返回BigDecimal,其值为(this / divisor)的整数部分。
double
doubleValue()
将此BigDecimal转换为double。
boolean
equals(Object x)
比较此BigDecimal与指定的Object的相等性。
float
floatValue() 将此BigDecimal转换为float。
int
hashCode()
返回此BigDecimal的哈希码。
int
intValue()
将此BigDecimal转换为int。
int
intValueExact()
将此BigDecimal转换为int,以检查丢失的信息。
long
longValue()
将此BigDecimal转换为long。
long
longValueExact()
将此BigDecimal转换为long,以检查丢失的信息。
BigDecimal
max(BigDecimal val)
返回此BigDecimal和val的最大值。
BigDecimal
min(BigDecimal val)
返回此BigDecimal和val的最小值。
BigDecimal
movePointLeft(int n)
返回一个BigDecimal,它等效于将该值的小数点向左移动n位。
BigDecimal
movePointRight(int n)
返回一个BigDecimal,它等效于将该值的小数点向右移动n位。
BigDecimal
multiply(BigDecimal multiplicand)
返回一个BigDecimal,其值为(this × multiplicand),其标度为(this.scale() + multiplicand.scale())。
BigDecimal
multiply(BigDecimal multiplicand, MathContext mc)
返回其值为(this × multiplicand)的BigDecimal(根据上下文设置进行舍入)。
BigDecimal
negate()
返回BigDecimal,其值为(-this),其标度为this.scale()。
BigDecimal
negate(MathContext mc)
返回其值为(-this)的BigDecimal(根据上下文设置进行舍入)。
BigDecimal
plus()
返回BigDecimal,其值为(+this),其标度为this.scale()。
BigDecimal
plus(MathContext mc)
返回其值为(+this)的BigDecimal(根据上下文设置进行舍入)。
BigDecimal
pow(int n)
返回其值为(thisn)的BigDecimal,准确计算该幂,使其具有无限精度。
BigDecimal
pow(int n, MathContext mc)
返回其值为(thisn)的BigDecimal。
int
precision()
返回此BigDecimal的精度。
BigDecimal
remainder(BigDecimal divisor)
返回其值为(this % divisor)的BigDecimal。
BigDecimal
remainder(BigDecimal divisor, MathContext mc)
返回其值为(this % divisor)的BigDecimal(根据上下文设置进行舍入)。
BigDecimal
round(MathContext mc)
返回根据MathContext设置进行舍入后的BigDecimal。
int
scale()
返回此BigDecimal的标度。
BigDecimal
scaleByPowerOfTen(int n)
返回其数值等于(this * 10n)的BigDecimal。
BigDecimal
setScale(int newScale)
返回一个BigDecimal,其标度为指定值,其值在数值上等于此BigDecimal的值。
BigDecimal
setScale(int newScale, int roundingMode)
返回一个BigDecimal,其标度为指定值,其非标度值通过此BigDecimal的非标度值乘以或除以十的适当次幂来确定,以维护其总值。
BigDecimal
setScale(int newScale, RoundingMode roundingMode)
返回BigDecimal,其标度为指定值,其非标度值通过此BigDecimal的非标度值乘以或除以十的适当次幂来确定,以维护其总值。
short
shortValueExact()
将此BigDecimal转换为short,以检查丢失的信息。
int
signum()
返回此BigDecimal的正负号函数。
BigDecimal
stripTrailingZeros()
返回数值上等于此小数,但从该表示形式移除所有尾部零的BigDecimal。
BigDecimal
subtract(BigDecimal subtrahend)
返回一个BigDecimal,其值为(this - subtrahend),其标度为max(this.scale(), subtrahend.scale())。
BigDecimal
subtract(BigDecimal subtrahend, MathContext mc)
返回其值为(this - subtrahend)的BigDecimal(根据上下文设置进行舍入)。
BigInteger
toBigInteger()
将此BigDecimal转换为BigInteger。
BigInteger
toBigIntegerExact()
将此BigDecimal转换为BigInteger,以检查丢失的信息。
String
toEngineeringString()
返回此BigDecimal的字符串表示形式,需要指数时,则使用工程计数法。
String
toPlainString()
返回不带指数字段的此BigDecimal的字符串表示形式。
String
toString()
返回此BigDecimal的字符串表示形式,如果需要指数,则使用科学记数法。
BigDecimal
ulp()
返回此BigDecimal的ulp(最后一位的单位)的大小。
BigInteger
unscaledValue()
返回其值为此BigDecimal的非标度值的BigInteger。
static BigDecimal
valueOf(double val)
使用Double.toString(double) 方法提供的double规范的字符串表示形式将double转换为BigDecimal。
static BigDecimal
valueOf(long val)
将long值转换为具有零标度的BigDecimal。
static BigDecimal
valueOf(long unscaledVal, int scale)
将long非标度值和int标度转换为BigDecimal。
分享到:
相关推荐
在进行大量计算时,为了性能考虑,可以使用`BigDecimal.valueOf()`静态工厂方法,它会复用已存在的BigDecimal实例,避免重复创建对象。 `MathContext`是另一个重要的概念,它定义了计算的精度和舍入模式。例如,`...
1. **加法**:使用`add()`方法实现两个BigDecimal对象相加。 ```java public static BigDecimal add(String num1, String num2) { BigDecimal bd1 = new BigDecimal(num1); BigDecimal bd2 = new BigDecimal(num2...
Java Bigdecimal使用原理详解 Java Bigdecimal是Java语言中用于精确计算的类,它可以完善float和double类无法进行精确计算的缺憾。BigDecimal类位于java.math类包下,提供了多种构造函数和方法来实现精确计算。 ...
Java编程BigDecimal用法实例分享 Java中的BigDecimal类是Java标准库中的一部分,用于处理高精度的数字计算,特别是在商业计算中对数字精度要求较高的场景中。BigDecimal类提供了对大数字的操作,可以精确地计算货币...
总之,Java 中的 BigDecimal 类是进行高精度计算的重要工具,正确理解和使用它可以避免精度问题,确保金融计算的准确性。在实际开发中,需要结合具体业务场景选择合适的运算方法和舍入策略,同时注意性能优化和异常...
在Java编程中,当涉及到需要精确数值计算的场景时,我们通常会使用`BigDecimal`类。这是因为`float`和`double`类型虽然适用于科学计算和工程计算,但它们基于二进制浮点运算,不能保证完全精确的结果。而`BigDecimal...
- `BigDecimal(String val)`:推荐使用此构造方法,因为它能确保按照字符串提供的精确值来创建BigDecimal对象。 3. **加法操作**: `BigDecimal`的加法操作是通过`add()`方法实现的。在示例中,`a.add(b)`并没有...
在Java编程语言中,`BigInteger`和`BigDecimal`是两个重要的类,它们分别用于处理大整数和高精度浮点数。这两个类位于`java.math`包下,为开发者提供了超越基本数据类型(如int、long和double)的计算能力。在深入...
JAVA基础:java.math.BigDecimal的使用方法. JAVA基础:java.math.BigDecimal的使用方法.
Java中的`BigDecimal`类是用于表示和操作高精度浮点数的重要工具,尤其适用于需要进行精确计算的场景,如财务和货币计算。由于基本数据类型`double`和`float`在进行大数值或高精度计算时可能会导致精度丢失,因此`...
Java中BigDecimal类的使用详解 Java中BigDecimal类是Java.math包中提供的一个API类,用于对超过16位有效位的数进行精确的运算。由于浮点数的精度问题,Java中浮点数的计算会失去一定的精确度。因此,使用BigDecimal...
使用BigDecimal,我们可以首先将两个浮点数转换为字符串,然后使用BigDecimal的add方法进行加法运算。例如: ```java public static double add(double v1, double v2) { BigDecimal b1 = new BigDecimal(Double....
BigDecimal 类详解 BigDecimal 类是 Java 中的一种数值类型,主要用于处理...它提供了多种构造器和方法,用于创建和操作 BigDecimal 对象,并且可以与 NumberFormat 类结合使用,用于格式化超过 16 位有效数字的数值。
在BigDecimal工具类中,我们可以看到多个重载的方法,例如add方法和sub方法,这些方法可以根据不同的参数类型和精度需求进行选择。 首先,让我们来看一下add方法。add方法有三种重载形式,分别是add(double,double)...
BigDecimal所创建的是对象,我们不能使用传统的+、-、*、/等算术运算符直接对其对象进行数学运算,而必须调用其相对应的方法。方法中的参数也必须是BigDecimal的对象。构造器是类的特殊方法,专门用来创建对象,特别...
通过使用其提供的各种构造方法和运算方法,开发者可以有效地控制计算过程中的精度,确保计算结果的正确性。因此,理解并熟练运用BigDecimal类是每个Java程序员必备的技能之一。在编写涉及精确数值计算的代码时,应...
Java 中 BigDecimal 的常用方法归类(加减乘除) Java 中的 BigDecimal 类提供了对浮点数的精确运算,包括加减乘除和四舍五入等操作。在 Java 中,简单类型不能够精确地对浮点数进行运算,因此需要使用 BigDecimal ...
在Java编程语言中,`BigDecimal` 类位于 `java.math` 包下,它提供了一种进行高精度和任意精度的十进制算术运算的方法。`BigDecimal` 是为那些需要精确数值计算的场景设计的,比如金融计算或会计应用,因为普通的 `...
总之,BigDecimal 是 Java 中用于高精度计算的关键工具,通过其提供的方法和舍入模式,可以确保在财务等对精度有严格要求的场景下进行准确的计算。在实际编程中,应优先使用字符串构造 BigDecimal 对象,并合理设置...
本文主要介绍了 Java 中的 BigDecimal 和 double 的示例及相关问题解析,展示了 BigDecimal 的常用方法和使用示例,展示了使用 BigDecimal 进行四则运算的示例,最后总结了 BigDecimal 的优点。