歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Java高效的獲取指定的精度的double數

Java高效的獲取指定的精度的double數

日期:2017/3/1 10:08:05   编辑:Linux編程

Java高效的獲取指定的精度的double數

  1. package com.czp;
  2. public class MathUtil {
  3. public static void main(String[] args){
  4. double d = 123.5465893;
  5. System.out.println(getRealVaule(d, 0));
  6. //=>124
  7. System.out.println(getRealVaule(d, 3));
  8. //=>123.547
  9. }
  10. /**
  11. * 對結果進行四捨五入
  12. *
  13. * @param value :原始數
  14. * @param resLen :所要的精度
  15. * @return
  16. */
  17. public static Number getRealVaule(double value,int resLen) {
  18. if(resLen==0)
  19. //原理:123.456*10=1234.56+5=1239.56/10=123
  20. //原理:123.556*10=1235.56+5=1240.56/10=124
  21. return Math.round(value*10+5)/10;
  22. double db = Math.pow(10, resLen);
  23. return Math.round(value*db)/db;
  24. }
  25. }
Copyright © Linux教程網 All Rights Reserved