new BigDecimal("0.73") 乘以四之后取整,Java怎么做
时间: 2024-01-14 17:02:10 浏览: 18
这个问题很简单,Java可以使用BigDecimal的multiply()方法将0.73乘以4,然后使用setScale()方法设置小数点后的位数,最后使用intValue()方法取整。代码如下:
BigDecimal decimal = new BigDecimal("0.73");
decimal = decimal.multiply(new BigDecimal("4"));
decimal = decimal.setScale(0, RoundingMode.DOWN);
int result = decimal.intValue();
结果为2。
相关问题
bigdecimal四舍五入取整
BigDecimal是Java中的一个用于高精度计算的类,它可以处理任意精度的十进制数。在BigDecimal中,可以使用setScale方法进行四舍五入取整操作。
setScale方法有两个参数:第一个参数是要保留的小数位数,第二个参数是指定舍入模式。舍入模式有以下几种:
- RoundingMode.UP:向远离零的方向舍入
- RoundingMode.DOWN:向接近零的方向舍入
- RoundingMode.CEILING:向正无穷方向舍入
- RoundingMode.FLOOR:向负无穷方向舍入
- RoundingMode.HALF_UP:四舍五入,如果舍弃部分大于等于0.5,则进位
- RoundingMode.HALF_DOWN:四舍五入,如果舍弃部分大于0.5,则进位
- RoundingMode.HALF_EVEN:银行家舍入法,四舍六入五成双
下面是一个示例代码,展示了如何使用BigDecimal进行四舍五入取整:
```java
import java.math.BigDecimal;
import java.math.RoundingMode;
public class BigDecimalExample {
public static void main(String[] args) {
BigDecimal number = new BigDecimal("3.14159");
BigDecimal roundedNumber = number.setScale(2, RoundingMode.HALF_UP);
System.out.println("Rounded Number: " + roundedNumber);
}
}
```
输出结果为:
```
Rounded Number: 3.14
```
bigdecimal 四舍五入取整
在BigDecimal中,有几种不同的取整方式。其中,常用的两种是ROUND_HALF_UP和ROUND_HALF_EVEN。对于ROUND_HALF_UP,如果小数点后面第三位数大于等于5,则进位。例如,对于3.335,使用ROUND_HALF_UP取整后的结果是3.34。而对于ROUND_HALF_EVEN,如果小数点后面第三位数的左边一位数(第二位数)为奇数,则进位,如果为偶数,则不进位。例如,对于3.365,使用ROUND_HALF_EVEN取整后的结果是3.36。所以,具体取整的结果取决于你所选择的取整方式。