import java.math.BigDecimal;
import java.math.RoundingMode;
/**
* @author qx
* @date 2023-05-22
* @Descripion: Math实现指定位数四舍五入处理操作
*/
public class MathUtil {
private MathUtil() {
}
/**
* 使用Math.round进行准确位数的四舍五入的处理操作
*
* @param num 要进行处理的数字
* @param scale 表示要保留的小数位数
* @return 四舍五入处理后的结果
*/
public static double round(double num, int scale) {
return Math.round(num * Math.pow(10.0, scale)) / Math.pow(10.0, scale);
}
/**
* 使用BigDecimal进行准确位数的四舍五入的处理操作
* @param num 要进行处理的数字
* @param scale 表示要保留的小数位数
* @return 四舍五入处理后的结果
*/
public static double round2(double num, int scale) {
return new BigDecimal(num).divide(new BigDecimal(1),scale, RoundingMode.HALF_UP).doubleValue();
}
public static void main(String[] args) {
System.out.println("[四舍五入]" + MathUtil.round2(15.3829422, 3));
}
}
程序运行结果:
"C:\Program Files\Java\jdk-17.0.4\bin\java.exe" "-javaagent:D:\Program Files\JetBrains\IntelliJ IDEA 2022.1.1\lib\idea_rt.jar=50583:D:\Program Files\JetBrains\IntelliJ IDEA 2022.1.1\bin" -Dfile.encoding=UTF-8 -classpath E:\saipu\YootkProject\out\production\YootkProject first.MathUtil
[四舍五入]15.383