import java.math.BigDecimal;
import java.math.RoundingMode;
// 首先将数字3.1415926转换为BigDecimal类型的变量num,然后使用setScale方法设置保留两位小数的精度,并指定了四舍五入的舍入模式为HALF_UP
String strNum ="3.1455926";
BigDecimal num = new BigDecimal(strNum );
String result = num.setScale(2, RoundingMode.HALF_UP).toPlainString();
// 使用另一种方法保留两位小数
String num1="20";
String money = new BigDecimal("20").setScale(2,BigDecimal.ROUND_HALF_UP).toPlainString();
vars.put("result",result);
vars.put("money",money);
log.info("原数字为:"+num+",四舍五入后为:"+result);
log.info("原数字为:"+num1+",保留两位小数后为:"+money);
运行结果如下:
2023-05-04 11:08:39 INFO eeffd998 1-1 原数字为:3.1455926,四舍五入后为:3.15
2023-05-04 11:08:39 INFO eeffd998 1-1 原数字为:20,保留两位小数后为:20.00