java取N位有效数字的办法
测试代码
将PI= 3.1415926保留3位有效数字
import java.math.BigDecimal;
import java.math.MathContext;
public class test {
public static void main(String[] args) {
Double PI = 3.1415926; // 将PI保留3位有效数字,会进行四舍五入。
BigDecimal pi = new BigDecimal(PI); // 将PI转换为BigDecimal类型
MathContext mc = new MathContext(3); //设置精度为3。
//pi.divide(BigDecimal bd,MathContext mc)该方法含义是 pi/bd 且精度为mc,即保留mc个有效数字
PI = pi.divide(BigDecimal.ONE,mc).doubleValue(); //BigDecimal.ONE为1,任何数除以1还是为它本身,即可保留mc个有效数字,并转为double类型
System.out.println(PI);
}
}
结果
3.14
使用实例
洛谷-P5714肥胖问题-java解题方法
该题用到了BigDecimal取有效数字。