代码:
package com.jc.test;
import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.text.NumberFormat;
/**
* 精确小数点后多少位的四种方法
* @author wang-xiaoming
*
*/
public class TestPrecision {
public static void main(String[] args) {
double pi = Math.PI;
// 方法一:调用decimalFormat
DecimalFormat df = new DecimalFormat(".00");
System.out.println("decimalFormat.format(): " + df.format(pi));
// 方法二:调用String类的format函数
System.out.println("string.format(): " + String.format("%.2f", pi));
// 方法三:调用bigDecimal
BigDecimal bd = BigDecimal.valueOf(pi);
pi = bd.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
System.out.println("bigDecimal.doubleValue(): " + pi);
// 方法四:调用numberFormat
NumberFormat nf = NumberFormat.getNumberInstance();
nf.setMaximumFractionDigits(2);
System.out.println("numberFormat.format(): " + nf.format(pi));
}
}
结果:
decimalFormat.format(): 3.14 string.format(): 3.14 bigDecimal.doubleValue(): 3.14 numberFormat.format(): 3.14
来源:https://www.cnblogs.com/huakaiyoushi/p/12010507.html