public class BigDecimalUtils {
public static final int MONEY_POINT = 2; // 货币保留两位小数
/**
* 格式化精度
*
* @param v
* @param point
* 小数位数
* @return double
*/
public static Double format(double v, int point) {
BigDecimal b = new BigDecimal(v);
return b.setScale(point, BigDecimal.ROUND_HALF_UP).doubleValue();
}
/**
*
* @param v
* @param point
* @return
*/
public static Double formatRoundUp(double v, int point) {
NumberFormat nf = NumberFormat.getInstance();
nf.setRoundingMode(RoundingMode.HALF_UP);//设置四舍五入
nf.setMinimumFractionDigits(point);//设置最小保留几位小数
nf.setMaximumFractionDigits(point);//设置最大保留几位小数
return Double.valueOf(nf.format(v));
}
/**
* 格式化金额。带千位符
*
* @param v
* @return
*/
public static String moneyFormat(Double
BigDecimal 计算方法
最新推荐文章于 2024-08-30 11:24:11 发布
本文深入探讨BigDecimal类在Java中进行高精度数值计算的应用,详细解释其构造方法、常见操作及避免精度损失的策略,帮助开发者解决浮点数计算不精确的问题。
摘要由CSDN通过智能技术生成