double保留2位小数

1. format

double dou = 3.14789;
String douStr = String.format("%.2f", dou);
System.out.println("douStr:" + douStr);

注:四舍五入,位数不够则会用0补齐。
2. bigDecimal

double dou = 3.14789;
//BigDecimal.ROUND_UP 四舍五入
//BigDecimal.ROUND_DOWN 直接舍弃保留位数之后小数
BigDecimal bigDecimal = new BigDecimal(dou).setScale(2, BigDecimal.ROUND_DOWN);
double newDouble = bigDecimal.doubleValue();
System.out.println("newDouble:" + newDouble);

注:
1、BigDecimal.ROUND_UP 四舍五入,BigDecimal.ROUND_DOWN 直接舍弃保留位数之后小数;
2、位数不够时,不会补齐。

3. NumberFormat

double dou = 3.14789;
NumberFormat numberFormat = NumberFormat.getNumberInstance();
numberFormat.setMaximumFractionDigits(2);
//RoundingMode.UP 四舍五入
//RoundingMode.DOWN 直接舍弃保留位数之后小数
//不指定则默认就是四舍五入
numberFormat.setRoundingMode(RoundingMode.DOWN);  
String douStr2 = numberFormat.format(dou);
System.out.println("douStr2:" + douStr2);

注:
1、RoundingMode.UP 四舍五入,RoundingMode.DOWN 直接舍弃保留位数之后小数;
2、NumberFormat不指定RoundingMode时默认为四舍五入;
3、位数不够时,不会补齐。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值