Loading

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;

 

posted @ 2021-05-05 17:36  Convict  阅读(284)  评论(0编辑  收藏  举报