double小数点后最多几位_Java基础--double保留小数点后几位

先说在作业中用到的

DecimalFormat df = new DecimalFormat("0.00");

String doubleNumAsString= df.format(doubleNum);

然后再用Double.valueOf()转过来。

DecimalFormat这个类深究起来也是很深,所以暂且知道怎么用吧。

这里就借别人的测试和结论了:

importjava.text.DecimalFormat;public classDecimalFormatTest

{public static voidmain(String[]args){

DecimalFormat df1,df2;

System.out.println("整数部分0/#的区别");

df1= new DecimalFormat("#.00");

df2= new DecimalFormat("0.00");

System.out.println(df1.format(0.1)); //.10

System.out.println(df2.format(0.1)); //0.10

System.out.println("小数部分0/#的区别");

df1= new DecimalFormat("0.00");

df2= new DecimalFormat("0.##");

System.out.println(df1.format(0.1)); //0.10

System.out.println(df2.format(0.1)); //0.1

System.out.println(df1.format(0.006)); //0.01

System.out.println(df2.format(0.006)); //0.01

System.out.println("3、整数部分有多位");

df1= new DecimalFormat("0.00");

df2= new DecimalFormat("#.00");

System.out.println(df1.format(2)); //2.00

System.out.println(df2.format(2)); //2.00

System.out.println(df1.format(20)); //20.00

System.out.println(df2.format(20)); //20.00

System.out.println(df1.format(200)); //200.00

System.out.println(df2.format(200)); //200.00

}

}

简单来说,构造的时候0是占位符,#表示如果这位数字不存在就不显示,它代表最大位数。所以对于小数如果用#.00,那个位就不会显示。对于小数部分都满足四舍五入

第二种比较常见的四舍五入方法是Math.round()

Math.round(int i)的取整是i加上0.5后向下取整,比如Math.round(-2.5)就是-2,Math.round(3.5)是4。如何用来保留小数点后几位呢?Math.round(doubleNum * 100) / 100 就保留了小数点后2位,当然由于本身不是完全意义上的四舍五入,比如-2.5不保留,那直接会返回-2,不成立。

第三种是利用Stirng.format("%.2f",doubleNum)保留2位小数,它是可以做到四舍五入的,也可以改其他格式。返回值是String。

这个方法最大的好处可以对多个值同时格式处理,然后返回一个字符串。直接放一个链接在之后web开发的时候再深入。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值