java bigDecimal 见角进元
时间: 2023-10-14 07:10:44 浏览: 152
java BigDecimal操作
Java中的BigDecimal类是用于高精度计算的,它支持任意精度的十进制数,可以进行精确的小数运算。其中,setScale()方法可以设置小数点后保留的位数,第二个参数指定舍入规则。常用的舍入规则有:
- ROUND_UP:向远离零的方向舍入
- ROUND_DOWN:向零方向舍入
- ROUND_CEILING:向正无穷方向舍入
- ROUND_FLOOR:向负无穷方向舍入
- ROUND_HALF_UP:四舍五入
- ROUND_HALF_DOWN:五舍六入
- ROUND_HALF_EVEN:银行家舍入法,四舍六入五成双
下面是一个使用BigDecimal进行元角分转换的示例代码:
```java
import java.math.BigDecimal;
public class MoneyUtil {
/**
* 分转元
* @param fen 分
* @return 元
*/
public static String fen2yuan(long fen) {
BigDecimal bd = new BigDecimal(fen).divide(new BigDecimal(100), 2, BigDecimal.ROUND_HALF_UP);
return bd.toString();
}
/**
* 元转分
* @param yuan 元
* @return 分
*/
public static long yuan2fen(String yuan) {
BigDecimal bd = new BigDecimal(yuan).multiply(new BigDecimal(100));
return bd.longValue();
}
}
```
其中,fen2yuan()方法将分转换为元,保留两位小数,使用了四舍五入的舍入规则;yuan2fen()方法将元转换为分,没有指定舍入规则,默认使用了四舍五入。
阅读全文