double 转 long 转 double 精度问题

double 0.0111 乘以 10的6次方   11100

11100 乘以 10的负6次方 double 0.01109999999

 

可以这样

double exchange = exchangeNumerator * 1d / exchangeDenominator;

            //获取到转换展示单位的值
            double baseValueDisplay = baseValue * exchange;
            BigDecimal baseValueDisplayBig = new BigDecimal(baseValueDisplay);
            baseValueDisplay = baseValueDisplayBig.setScale(6,BigDecimal.ROUND_HALF_UP).doubleValue();

使用

BigDecimal设置6位精度
posted @ 2015-09-24 11:08  十万伏特  阅读(419)  评论(0编辑  收藏  举报