欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

Java对 Double 类型的数据进行四舍五入,double四舍五入,/** * 对

来源: javaer 分享于  点击 29950 次 点评:126

Java对 Double 类型的数据进行四舍五入,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;    }
相关栏目:

用户点评