1.js实现方法 前端处理 place为有效位数
function round2(num,place){
var tnum = Math.pow(10,place);
if(Math.floor(num*tnum *10)%5 == 0 && Math.floor(num*tnum *10) == num*tnum *10 && Math.floor(num*tnum )%2 == 0){
return Math.floor(num*tnum )/tnum ;
}else{
return Math.round(num,place);
}
}
2.Java服务处理 后台处理
/**
* 四舍六入五留双
* @param scale 操作的数字
* @param scale 小数点后保留几位
* @return 四舍六入五留双后的结果
*/
public static String RoundNum(String str, int scale) {
if (str == null && str.equals("")) {
return "";
}
BigDecimal bg = new BigDecimal(str);
return bg.setScale(scale, BigDecimal.ROUND_HALF_EVEN).toString();
}