java中指定小数点后面的位数

比较好使用的两种方式:

第一种方式是使用java.text.DecimalFormat类来实现:

           如DecimalFormat df = new DecimalFormat("#.##");

               double d = 1.100000001;

               System.out.println(df.format(d));

           结果是:1.10

第二种方式是使用java.math.BigDecimal

    BigDecimal   bd   =   new   BigDecimal(“1.00100010”);

    bd   =   bd.setScale(2,BigDecimal.ROUND_HALF_UP);//相当于四舍五入保留小数点后2位

    注:  public BigDecimal setScale(int newScale,int roundingMode)
返回一个 BigDecimal,其标度为指定值,其非标度值通过此 BigDecimal 的非标度值乘以或除以十的适当次幂来确定,以维护其总值。如果该操作减少标度,则非标度值必须被除(而不是乘),并且该值可以更改;在这种情况下,将指定的舍入模式应用到除法中。

注意,由于 BigDecimal 对象是不可变的,此方法的调用不会 导致初始对象被修改,这与使用名为 setX 变异字段 X 方法的常规约定相反。相反,setScale 返回具有适当标度的对象;返回的对象不一定是新分配的

结果是:1.00

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值