AVA取整以及四舍五入
import java.math.BigDecimal; public class Test { public static void main(String[] args) { double i = 3.856; // 舍掉小数取整 System.out.println("舍掉小数取整:Math.floor(3.856)=" + (int) Math.floor(i)); // 四舍五入取整 System.out.println("四舍五入取整:(3.856)=" + new BigDecimal(i).setScale(0, BigDecimal.ROUND_HALF_UP)); // 四舍五入保留两位小数 System.out.println("四舍五入取整:(3.856)=" + new BigDecimal(i).setScale(2, BigDecimal.ROUND_HALF_UP)); // 凑整,取上限 System.out.println("凑整:Math.ceil(3.856)=" + (int) Math.ceil(i)); // 舍掉小数取整 System.out.println("舍掉小数取整:Math.floor(-3.856)=" + (int) Math.floor(-i)); // 四舍五入取整 System.out.println("四舍五入取整:(-3.856)=" + new BigDecimal(-i).setScale(0, BigDecimal.ROUND_HALF_UP)); // 四舍五入保留两位小数 System.out.println("四舍五入取整:(-3.856)=" + new BigDecimal(-i).setScale(2, BigDecimal.ROUND_HALF_UP)); // 凑整,取上限 System.out.println("凑整(-3.856)=" + (int) Math.ceil(-i)); // 测试 System.out.println((int) Math.ceil((float) 21 / (float) 30)); } }
运行结果:
舍掉小数取整:Math.floor(3.856)=3
四舍五入取整:(3.856)=4
四舍五入取整:(3.856)=3.86
凑整:Math.ceil(3.856)=4
舍掉小数取整:Math.floor(-3.856)=-4
四舍五入取整:(-3.856)=-4
四舍五入取整:(-3.856)=-3.86
凑整(-3.856)=-3
1