数值类型的保留指定小数位

搜集了有如下几种方式:

1、将double类型强制先乘10的n次位然后再转换成int类型

1      double b1=12.354;
2         float b2=((int)(b1*100))/100.0f;//这里可以用float,也可以用double,使用int类型将小数去掉
3 //      double b2=((int)(b1*100))/100.0;
4         System.out.println(String.format("%.2f",b2));

2、使用Math的floor或者ceil方法

     double b3=11.56;
        double floor =( Math.floor(b3*10))/10.0;
        System.out.println(floor);//返回11.5
//        System.out.println(Math.floor(11.5));//返回11
//        System.out.println(Math.ceil(11.5));//返回12

3、使用String的format方法

 1 System.out.println(String.format("%.2f",123.456));//返回123.46 

4、使用Math的round方法

1 float   a   =   123.2334f;  
2 System.out.println((float)Math.round(a*100)/100);

5、利用 BigDecimal类和DecimalFormat的构造方法

1  //第三种
2          String str ="23423.12528";
3          BigDecimal b = new BigDecimal(str);
4 //         DecimalFormat d1 =new DecimalFormat("#,##0.####;(#)");
5          DecimalFormat d1 =new DecimalFormat("#.00");//用于输出两位小数,也可以用#.##,会达到同样的效果
6            System.out.println(d1.format(b));//输出23423.13

 

转载于:https://www.cnblogs.com/jincheng81/p/9028215.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值