歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

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

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

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