bigdecimal如何乘0.85保留两位小数
时间: 2023-12-26 10:28:43 浏览: 184
以下是使用BigDecimal乘以0.85并保留两位小数的示例:
```java
import java.math.BigDecimal;
import java.math.RoundingMode;
BigDecimal mData = new BigDecimal("9.655");
BigDecimal result = mData.multiply(new BigDecimal("0.85")).setScale(2, RoundingMode.HALF_UP);
System.out.println("Result: " + result); // 输出:Result: 8.21
```
在这个示例中,我们首先创建了一个BigDecimal对象`mData`,其值为9.655。然后,我们使用`multiply()`方法将`mData`乘以0.85,并使用`setScale()`方法设置结果的小数位数为2,并使用`RoundingMode.HALF_UP`进行四舍五入。最后,我们打印出结果。
相关问题
bigdecimal 除法保留4位小数,然后乘100 保留两位小数
`BigDecimal` 是 Java 中用于精确数值计算的一个类,特别适合需要高精度浮点数运算的情况。如果你想要对 `BigDecimal` 进行除法并保留特定小数位,可以按照以下步骤操作:
1. 首先,使用 `divide()` 方法进行除法运算,并指定 `RoundingMode` 来控制舍入策略。例如,你可以选择 `ROUND_HALF_UP`(向上取整)或其他模式,这里假设我们使用默认的四舍五入规则。
```java
BigDecimal dividend = new BigDecimal("your_dividend");
BigDecimal divisor = new BigDecimal("your_divisor");
BigDecimal result = dividend.divide(divisor, 4, RoundingMode.HALF_UP);
```
这会将结果保留到小数点后四位,多余的数字会被舍弃。
2. 然后,如果你想将结果扩大100倍并保留两位小数,可以直接用 `setScale()` 方法:
```java
result = result.setScale(2, RoundingMode.HALF_UP); // 保留两位小数
result = result.multiply(BigDecimal.TEN.pow(2)); // 扩大100倍
```
请注意,`multiply()` 的第二个参数是一个幂,这里的 `TEN.pow(2)` 表示10的平方(即100)。
完整的例子:
```java
BigDecimal original = new BigDecimal("your_value");
BigDecimal divisionResult = original.divide(new BigDecimal("your_divisor"), 4, RoundingMode.HALF_UP);
BigDecimal scaledResult = divisionResult.setScale(2, RoundingMode.HALF_UP).multiply(BigDecimal.TEN.pow(2));
```
bigdecimal乘int 取两位小数
可以使用BigDecimal类的setScale方法来设置保留小数位数,具体实现如下:
```java
import java.math.BigDecimal;
public class Example {
public static void main(String[] args) {
BigDecimal bd1 = new BigDecimal("3.14");
int i1 = 2;
BigDecimal result = bd1.multiply(new BigDecimal(i1)).setScale(2, BigDecimal.ROUND_HALF_UP);
System.out.println(result); // 输出 6.28
}
}
```
在上面的代码中,我们将一个字符串类型的数字 "3.14" 构造成了一个 BigDecimal 对象 bd1,将一个整型数字 2 存储在 int 类型的变量 i1 中。然后,我们使用 bd1 调用 multiply 方法,将其乘以 i1 构造成的 BigDecimal 对象,并使用 setScale 方法设置保留小数位数为 2,并使用 BigDecimal.ROUND_HALF_UP 来指定四舍五入的方式。最后,我们通过 System.out.println 输出 result 的值,即 6.28。
阅读全文