Java中关于保留小数点后几位(可以四舍五入的)的方法

在实际开发中,我们相对一些除法后的结果进行简单的输出,或者定制型的显示效果,下面几种方法供参考(全文以保留两位小数为例):

一、格式化保留小数方法

1. 格式化printf输出

对于学过c语言的同学来说,这种方法见怪不怪了!
主要使用printf来格式化输出:

        double ll =len/(1024*1024.0);
        System.out.println("文件大小为"+ll+"MB");//36.364097595214844
        System.out.printf("%.2f",ll);//33.36

2.DecimalFormat类

这种方法对于初学者来说不常用,因为这种方法牵扯到了DecimalFormat类的使用,所以不够友好

        DecimalFormat d = new DecimalFormat("#.00");
        System.out.println(d.format(ll));//36.36

3.通过运算输出

通过计算,让小数点后移几位,保留整型,然后再除以后移的位数,所得结果是刚好想要保留的位数

  System.out.println((int)(ll*100)/100.0);//36.36

以上不能保证四舍五入,如需四舍五入精确值,继续往下:

二、四舍五入保留2位小数为例

(1).使用BigDecimal类

下面代码中: 
public BigDecimal setScale(int newScale, int roundingMode) // newScale 为小数点后保留的位数, roundingMode 为变量进行取舍的方式;
  BigDecimal.ROUND_HALF_UP 属性含义为为四舍五入

double f = 3.1415;
BigDecimal bd = new BigDecimal(f);
double f1 = bd.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); 
输出结果f1为 3.14
(2).DecimalFormat类使用

#.00 表示两位小数 #.0000四位小数 以此类推…

String format = new DecimalFormat("#.0000").format(3.1415926);
System.out.println(format);
输出结果为 3.1416

(3).String.Format方法

%.2f 中 %. 表示 小数点前任意位数 2 表示两位小数 格式后的结果为f 表示浮点型。

double num = 3.1415926;
String result = String.format("%.4f", num);
System.out.println(result);
输出结果为:3.1416

(4).

最后乘积的0.01d表示小数点后保留的位数(四舍五入),0.0001 为小数点后保留4位,以此类推…

double num = Math.round(3.141592 * 100) * 0.01d;
System.out.println(num);
输出结果为:3.14

如需转载,请注链接!

  • 16
    点赞
  • 61
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Itfuture03

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值