java中double型如何控制有效数字输出位数或精度?

double类型无法控制精度,会出现意想不到的结果。sun专门设计了任意精度控制的类Decimal。详细去看API

java中 double 类型只是一个简单类型,是不du能其输出位数及精度是固定的
可以利用其它方法进行位数输出,如:
 

class test{
    public static void main(String[] args) {
        // 1. 使用 String.format() 方法
        double data = 11.8982389283293;
        System.out.println(String.format("%.2f", data));
        // 2. 使用 printf 输出
        System.out.printf("%.2f", data);
        // 3. 使用 DecimalFormat 对象格式化
        DecimalFormat format = new DecimalFormat("#.00");
        System.out.println(format.format(data));
    }

        IntSummaryStatistics collect1 =             
                list.stream().collect(Collectors.summarizingInt(Teacher::getAge));
        String format = String.format("%s{count=%d, sum=%d, min=%d, average=%.2f, max=%d}",
                collect1.getCount(), collect1.getSum(), collect1.getMin(), 
                 collect1.getMax(), collect1.getAverage(), collect1.getMax());
        System.out.println(format);
}

 

  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值