Java之double数据如何保留特定小数位

这里以保留两个小数位为例,介绍一下设定特定小数位的方式。

示例:现有一doublue类型数组:double[] nums = {1, 2.0360488891602, 3.0},要求保留数组元素最多2个小数位。

方式1 - 保留2位小数:最多显示2个小数位,当小数位为0时,只显示整数部分

System.out.println("------方式1:new java.text.DecimalFormat(\"#.##\")");
for(double d:nums){
	java.text.DecimalFormat df = new java.text.DecimalFormat("#.##");
	System.out.println("原值="+d+ "; 处理值="+df.format(d));
}

方式2 - 保留2位小数:固定显示2个小数位

System.out.println();
System.out.println("------方式2:new java.text.DecimalFormat(\"#.00\")");
for(double d:nums){
	java.text.DecimalFormat df = new java.text.DecimalFormat("#.00");
	System.out.println("原值="+d+ "; 处理值="+df.format(d));
}

方式3 - 保留2位小数:固定显示2个小数位

System.out.println();
System.out.println("------方式3:new BigDecimal(String.valueOf(数值));
for(double d:nums){
	BigDecimal bd = new BigDecimal(String.valueOf(d));
	System.out.println("原值="+d+ "; 处理值="+bd.setScale(2, BigDecimal.ROUND_HALF_UP));
}

方式4 - 保留2位小数:小数位数1至2位

System.out.println();
System.out.println("------方式4:Math.round(d * 100)/100.0");
for(double d:nums){
	long dl = Math.round(d * 100);
	System.out.println("原值="+d+ "; 处理值="+(dl / 100.0));
}

输出结果如下图所示:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值