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;
尊重写作权利,转载请注明出处 ^_^
原文地址:https://www.cnblogs.com/convict/p/14732207.html