java中double四舍五入并自定义小数点位数

时间:2020-11-30 09:48:07

今天遇到个需要将一个double类型的数据保留小数点后两位的问题。

//方案二:  
DecimalFormat df = new DecimalFormat("#.##");    
get_double = df.format(result_value); 


首先result_value是处理前的double

get_double是用来保存我处理后的double

[java] view plain copy
  1. //方案一:  
  2. get_double = (double)(Math.round(result_value*100)/100.0)   
  3.   
  4. //方案二:  
  5. DecimalFormat df = new DecimalFormat("#.##");    
  6. get_double = Double.ParseDouble(df.format(result_value));  
  7.   
  8. //方案三:  
  9. get_double = Double.ParseDouble(String.format("%.2f",result_value));  
  10.   
  11. //方案四:  
  12. BigDecimal bd = new BigDecimalresult_value();  
  13. BigDecimal  bd2 = bd.setScale(2,BigDecimal  .ROUND_HALF_UP);  
  14. get_double = Double.ParseDouble(bd2.ToString());