zoukankan      html  css  js  c++  java
  • double保留两位小数

        public static String format(double dValue, int lScale) {
            // ////负数,则装化为正数后进行四舍五入
            boolean bFlag = false;
            if (dValue < 0) {
                bFlag = true;
                dValue = -dValue;
            }
            long lPrecision = 10000; // 精度值,为了避免double型出现偏差,增加校验位
            long l45Value = lPrecision / 2 - 1; // 四舍五入的判断值
            long lLength = 1; // 乘的数字
            for (int i = 0; i < lScale; i++) {
                lLength = lLength * 10; // 比如保留2位,乘以100
            }
            long lValue = (long) dValue; // 值的整数部分
            long lValue1 = (long) ((dValue - lValue) * lLength); // 乘以保留位数
            long lValue2 = (long) ((dValue - lValue) * lLength * lPrecision); //
            long lLastValue = lValue2 - (lValue2 / lPrecision) * lPrecision;
            if (lLastValue >= l45Value) {
                lValue1++;
            }
            dValue = lValue + (double) lValue1 / lLength; // 四舍五入后的值
            if (bFlag) {
                dValue = -dValue;
            }
            java.math.BigDecimal bd = new java.math.BigDecimal(dValue);
            bd = bd.setScale(lScale, java.math.BigDecimal.ROUND_HALF_UP);
            return bd.toString();
            // Replace by Huang Ye
            // double d = UtilOperation.Arith.round(dValue, lScale);
            // return String.valueOf(dValue);
        }
  • 相关阅读:
    Beans
    HDU 1175 连连看
    HDU 1241 Oil Deposits dfs && bfs
    HDU1312:Red and Black
    背包问题
    canvas 和 svg
    前端性能优化---DOM操作
    四种常见的 POST 提交数据方式
    [转]浏览器缓存详解: expires, cache-control, last-modified, etag详细说明
    URL和URI
  • 原文地址:https://www.cnblogs.com/lifusen/p/7603252.html
Copyright © 2011-2022 走看看