package com.niit;
import java.math.BigDecimal;
public class TestBigDecimal
{
/**
* @param args
*/
public static void main(String[] args)
{
//定义一个BigDecimal用来存数据的
BigDecimal result = new BigDecimal(1);
//累加
testAdd(result);
//累减
testSubtract(result);
//累乘
testMultiply(result);
}
//累加
/**
* add(BigDecimal augend)
* 返回一个 BigDecimal,其值为 (this + augend),
* 第一次this等于上文result的初始值这里是1
*/
public static void testAdd(BigDecimal res)
{
for(int i=1;i<=100;i++)
{
res=res.add(new BigDecimal(i));
}
String str=res.toString();
System.out.println("testAdd(累加):"+str);
}
//累减
/**
* subtract(BigDecimal subtrahend)
* 返回一个 BigDecimal,其值为 (this - subtrahend),
* 第一次this等于上文result的初始值这里是1
*/
public static void testSubtract(BigDecimal res)
{
for(int i=1;i<=3;i++)
{
res=res.subtract(new BigDecimal(i));
}
String str=res.toString();
System.out.println("testSubtract(累减):"+str);
}
//累乘
/**
* multiply(BigDecimal multiplicand)
* 返回一个 BigDecimal,其值为 (this × multiplicand)
* 第一次this等于上文result的初始值这里是1
*/
public static void testMultiply(BigDecimal res)
{
for(int i=1;i<=100;i++)
{
res=res.multiply(new BigDecimal(i));
}
String str=res.toString();
System.out.println("testMultiply(累乘):"+str);
}
}
分享到:
相关推荐
在进行大量计算时,为了性能考虑,可以使用`BigDecimal.valueOf()`静态工厂方法,它会复用已存在的BigDecimal实例,避免重复创建对象。 `MathContext`是另一个重要的概念,它定义了计算的精度和舍入模式。例如,`...
这将返回一个新的 BigDecimal 实例,表示 num1 和 num2 的和。 3. 减法运算(subtract()): ```java BigDecimal result2 = num1.subtract(num2); ``` 返回 num1 减去 num2 的差。 4. 乘法运算(multiply())...
例如,可以这样创建一个BigDecimal实例: ```javascript var x = new BigDecimal("123.456"); var y = new BigDecimal("789.012"); ``` 之后,我们就可以使用这个库提供的方法进行计算,如: ```javascript var ...
1. **构造函数**:创建一个`BigDecimal`对象,可以接受字符串、数字或其他`BigDecimal`实例作为参数,以初始化值。 2. **算术操作**:提供加法(`add`)、减法(`subtract`)、乘法(`multiply`)、除法(`divide`...
- `BigDecimal(double val)`:使用double值创建一个BigDecimal实例,但不推荐这种方式,因为可能会引入精度问题。 - `BigDecimal(String val)`:使用字符串表示的数值创建一个BigDecimal实例,这种方式可以避免...
- `BigDecimal.valueOf(double val)`:根据双精度浮点数创建一个 `BigDecimal` 实例。 ##### 3. 数学运算 `BigDecimal` 提供了一系列的方法来进行数学运算: - `add(BigDecimal augend)`:加法操作。 - `subtract...
例如,正确创建BigDecimal实例的代码是`new BigDecimal("3.02")`,而不是`new BigDecimal(3.02)`,后者会先将3.02转换为double类型,然后再构造BigDecimal,这会导致精度损失。 在实际的金融计算中,精确计算的重要...
同时,由于 BigDecimal 是不可变对象,每次调用方法都会创建新的 BigDecimal 实例,所以避免不必要的对象创建也是优化性能的一个方面。 在团队开发中,为了代码的可读性和规范性,应当遵循一定的编码标准,比如统一...
// 私有构造函数,防止实例化 private Arith() {} /** * 提供精确的加法计算。 * @param v1 第一个加数 * @param v2 第二个加数 * @return 加法结果 */ public static double add(double v1, double v2) {...
Java编程BigDecimal用法实例分享 Java中的BigDecimal类是Java标准库中的一部分,用于处理高精度的数字计算,特别是在商业计算中对数字精度要求较高的场景中。BigDecimal类提供了对大数字的操作,可以精确地计算货币...
例如,如果你有一个BigDecimal实例`bd`,你可以这样做: ```java BigDecimal result = bd.add(anotherBd); // 加法 result = result.subtract(someBd); // 减法 result = result.multiply(multiplierBd); // 乘法 ...
3. **构造方法**:`BigInteger`提供多种构造方法,例如从字符串、整数或字节数组创建实例。 4. **比较操作**:`BigInteger`提供了`compareTo()`方法,用于比较两个`BigInteger`对象的大小。 5. **不可变性**:`...
1. **不可变性**:`BigDecimal`对象是不可变的,这意味着所有修改操作(如`add()`, `subtract()`, `multiply()`, `divide()`)都会创建新的`BigDecimal`实例。因此,赋值操作应如示例所示: ```java amount = ...
然后,我们通过构造函数`BigDecimal(String val)`将字符串转换为`BigDecimal`对象,这里创建了`b1`和`b2`两个`BigDecimal`实例。 `BigDecimal`提供了许多操作方法,其中`add(BigDecimal val)`方法用于执行加法操作...
1. **构造方法**:`BigDecimal`可以通过字符串、整数、长整数或`BigInteger`实例来创建。例如,`new BigDecimal("123.45")`或`new BigDecimal(12345)`。 2. **基本运算**:`BigDecimal`支持加法(`add()`), 减法(`...
例如,`new BigDecimal("10.0")` 创建了一个代表 10.0 的 `BigDecimal` 实例。 ### 2. 加法运算 `add()` 方法用于执行加法运算。在示例中,`c = a.add(b)` 表示将 `a` 和 `b` 相加,结果赋值给 `c`。这个过程是...
通过BigDecimal类,我们可以首先将double类型的数值转换成BigDecimal实例,然后使用setScale方法指定小数点后的位数和舍入模式。在这个例子中,我们使用了BigDecimal.ROUND_HALF_UP作为舍入模式,它表示四舍五入。...
- **使用`BigDecimal`的构造函数**:`BigDecimal`提供了多个构造函数,可以直接使用字符串构造精确的数值,如`new BigDecimal("3215.10")`,这样可以确保初始值的精度。 - **使用`BigDecimal`的算术方法**:`...
java笔试题五十公式 用 Kotlin 编写的数学表达式引擎,在 ...所有值都将存储为BigDecimal实例。 百分比数字文字 KFormula 支持以%符号结尾的特殊数字。 文字 价值 100% 1.0 50% 0.5 它们可以用于 布尔值 KFormul
然而,传入浮点数时需要注意,因为浮点数在Java中的表示可能存在精度损失,这可能导致创建的 `BigDecimal` 实例与预期的数值不完全匹配。 在进行相等比较时,`BigDecimal` 提供了 `equals()` 和 `compareTo()` 两个...