当前位置:   article > 正文

Math函数生成随机数用法_math随机数

math随机数

1.Math.random() 生成0~0.9999的随机数 [0,1)

代码:

@Test
public void random(){
    double random = Math.random();// 生成0~0.99999的随机数
    Integer random1 = (int)(random*9000+1000);// 生成0~10000的四位随机数
    System.out.println(random);
    System.out.println(random1);
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

结果

0.12933433949658346
1294
  • 1
  • 2

2.Math.round(),Math.ceil(),Math.floor()的区别

2.1、Math.round() “四舍五入”, 该函数返回的是一个四舍五入后的的整数

代码

@Test
public void round(){
    long round = Math.round(99.999);
    long round1 = Math.round(99.40);
    long round2 = Math.round(-99.999);
    long round3 = Math.round(-99.30);
    // 四舍五入,根据小数点第一位进行判断,如果>=5整数部分加1,如果<5去除小数
    System.out.println(round);// 结果 100
    System.out.println(round1);// 结果 99
    System.out.println(round2);// 结果 -100
    System.out.println(round3);// 结果 -99
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
2.2、Math.ceil() “向上取整”, 即小数部分直接舍去,并向正数部分进1

代码

@Test
public void ceil(){
    double ceil = Math.ceil(56.23);
    double ceil1 = Math.ceil(23.68);
    double ceil2 = Math.ceil(-69.26);
    double ceil3 = Math.ceil(-53.63);
    // 向上取整,如果是正数直接加一,如果是负数,直接去除小数
    System.out.println(ceil);// 结果 57.0
    System.out.println(ceil1);// 结果 24.0
    System.out.println(ceil2);// 结果 -69.0
    System.out.println(ceil3);// 结果 -53.0
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
2.3、Math.floor() “向下取整” ,即小数部分直接舍去

代码

@Test
public void floor(){
    double floor = Math.floor(23.55);
    double floor1 = Math.floor(36.05);
    double floor2 = Math.floor(-68.26);
    double floor3 = Math.floor(-99.99);
    // 向下取整,如果是正数小数部分直接去掉,如果是负数看小数点第一位,如果>=5整数部分减1,如果<5去除小数
    System.out.println(floor);// 结果 23.0
    System.out.println(floor1);// 结果 36.0
    System.out.println(floor2);// 结果 -68.0
    System.out.println(floor3);// 结果 -100.0
    double floor4 = Math.floor(8.54 * 100);
    System.out.println(floor4);
    //【注】Math.floor();这种函数慎用,他的精度不准确,举个列子
    //对小数9.54 保留两位小数(虽然它已经保留了 2 位小数):
    //Math.floor(8.54*100) Math.floor(9.54*100) // 输出结果为 853,953 而不是 854,954。
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

3、Math函数一些其他的用法

 @Test
    public void math(){
        double min = Math.min(23.55,25.55); // 输出最小值(两值做比较)
        double max = Math.max(36.05,37.99); // 输出最大值(两值做比较)
        double floorDiv = Math.floorDiv(200,20); // 两数相除(200.0/20.0=10.0)
        System.out.println(min);// 结果 23.55
        System.out.println(max);// 结果 37.99
        System.out.println(floorDiv);// 结果 10.0
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/54537
推荐阅读
相关标签
  

闽ICP备14008679号