Java對 Double 類型的數據進行四舍五入
/*** 對 Double 類型的數據進行四舍五入 * @author gaoqing * 2014-12-2 * @param initValue 初始值 * @param scaleNum 保留小數點的位數 * @param tClass 保留小數點位數后,返回的數據類型的 Class * @return t 四舍五入后的值 */ public static <T> T roundDouleValue(Double initValue, int scaleNum, Class<T> tClass){ T t = null; String className = tClass.getName().toLowerCase(); if (initValue == null) { //返回類型為:整數 if (className.contains("int")) { t = (T) Integer.valueOf(0); //返回類型為:浮點數 }else if (className.contains("dou")) { t = (T) Double.valueOf(0.0); } }else { BigDecimal bigDecimal = new BigDecimal(initValue); BigDecimal scaledBigDecimal = bigDecimal.setScale(scaleNum, BigDecimal.ROUND_HALF_UP); //返回類型為:整數 if (className.contains("int")) { Integer tempInteger = new Integer(scaledBigDecimal.intValue()); t = (T)tempInteger ; //返回類型為:浮點數 }else if (className.contains("dou")) { Double tempDouble = new Double(scaledBigDecimal.doubleValue()); t = (T) tempDouble; } } return t; }</pre>
本文由用戶 dwd4 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!