Java四舍五入保留n位小数的常用写法
1. 使用BigDecimal
double v = 1.233; double res = new BigDecimal(v).setScale(2, RoundingMode.HALF_UP).doubleValue();
tip: setScale中的 roundingMode参数详解,参考此处
2. String类format方法
double f = 1.233; String res = String.format("%.2f", f);
3. 使用DecimalFormat(线程不安全,不推荐)
double v = 1.233; DecimalFormat format = new DecimalFormat("#.00"); String res = format.format(v);
4. 使用NumberFormat(线程不安全,不推荐)
double v = 1.233; NumberFormat format = NumberFormat.getNumberInstance(); format.setMaximumFractionDigits(2); String res = format.format(v);
5. 使用Math.round
double v = 1.233; double res = Math.round(v * 100) / 100.0;