您的位置:首页 > 其它

解决DecimalFormat("#.00")使用时小数点后第三位值为5,第二位为偶数时无法进位的问题

2018-03-21 00:00 477 查看
/**
* 小数计算(四舍五入):解决DecimalFormat("#.00")使用时小数点后第三位值为5,第二位为偶数时无法进位的问题
* @param
* @return
*/
public double decimalCalculation(Double startVal){
DecimalFormat df = new DecimalFormat("#.00");
String startStr = startVal.toString();
String startDecimal = startStr.split("\\.")[1];
Double jishu = 0.01;
Double endVal = 0.0;
if(startDecimal.length()>2 && "5".equals(String.valueOf(startDecimal.charAt(2))) && Integer.parseInt(String.valueOf(startDecimal.charAt(1)))%2==0){
endVal = Double.valueOf(startStr.substring(0, startStr.length()-1))+jishu;
} else{
endVal = Double.valueOf(df.format(startVal));
}
return Double.valueOf(df.format(endVal));
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  DecimalFormat
相关文章推荐