将double科学计数法改成正常的小数

1:先将double转化在转成BigDecimal

   double d = 1234567890.1234567890;
        NumberFormat data = NumberFormat.getCurrencyInstance();
        //保留两位小数
        data.setMaximumFractionDigits(2);
        // 如果不需要四舍五入,可以使用RoundingMode.DOWN
        data.setRoundingMode(RoundingMode.UP);
        String format = data.format(d * 100);
        System.out.println(format);//¥123,456,789,012.35
        String replace = format.replace("¥", "");
        System.out.println(replace);//123,456,789,012.35
        String replace1 = replace.replace(",", "");
        System.out.println(replace1);//123456789012.35
        BigDecimal bigDecimal = new BigDecimal(replace1);
        System.out.println(bigDecimal);//123456789012.35
        System.out.println(bigDecimal.doubleValue());//1.2345678901235E11

可以设置实体类的格式,也是可以的

存值的时候
BigDecimal bigDecimal.doubleValue()方法转成double类型,

你可能感兴趣的:(将double科学计数法改成正常的小数)