Java使用Math操作小数

123 阅读1分钟
  • int Math.round(double a) 对a进行四舍五入的取整,只看小数点后一位 可以用来 (保留小数,进行四舍五入)的场景

  • double Math.floor(double a) 对a 向下取整,可以用来 (保留小数,不进行四舍五入)的场景

  • double Math.ceil(double a ) 对 a 向上取整

public static void main(String[] args) {

    double d = 10.163;
    double d1 = 10.127;
    System.out.println(Math.floor(10.163)); // 向下取整 10.0
    System.out.println(Math.ceil(10.163)); // 向上取整 11.0
    double d3 = 10.6 ;
    double d4 = 10.16 ;
    System.out.println(Math.round(d4));// 10
    System.out.println(Math.round(d3));// 取整,四舍五入 11

    //保留小数,四舍五入
    System.out.printf("%.1f",10.163); // 保留1位小数,四舍五入 10.2
    System.out.println();
    System.out.printf("%.2f",10.127); // 保留两位小数,四舍五入 10,13
    System.out.println();

    double round = (double) Math.round(10.163 * 10) /10; // 保留1位小数,四舍五入 10.2
    double round1 = (double) Math.round(10.127* 100) /100;// 保留两位小数,四舍五入 10.12
    System.out.println( round);
    System.out.println(round1);

    // 保留小数,不四舍五入

    double v = Math.floor(10.163 * 10) / 10; // 保留一位小数,不四舍五入 10.1
    System.out.println(v);
    v=  Math.floor(10.163 * 100) / 100; // 保留一位小数,不四舍五入 10.16
    System.out.println(v);



}