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、位数不够时,不会补齐。
最后
以上就是真实大船最近收集整理的关于double保留2位小数的全部内容,更多相关double保留2位小数内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复