项目中要生成一个涨跌幅,范围需要在-0.1~0.1之间,并且要保留四位小数。

解决方案 »

  1.   

    生成随机数后除以10000,这时候用什么类型的接收四位小数啊,我用double没用,结果成了0.0.
      

  2.   

    import java.util.Random;public class Rdemo { public static void main(String[] args) { Random r = new Random();
    int ri = 0;
    for (int i = 0; i < 100; i++) {
    System.out.println(r.nextDouble() * 0.2 - 0.1);
    ri = r.nextInt(20000) - 10000;
    System.out.println(ri);
    System.out.println((double) (ri) / 100000.0);
    }
    }
    }
      

  3.   

    Random r = new Random();
            for (int i = 0; i < 5; i++) {
             System.out.println(String.valueOf(r.nextDouble()*0.2-0.1).substring(0, 6));
    }
      

  4.   

    用math.random,转换成字符串,然后截取
      

  5.   

    public class get4double {
    public static void main(String[] args) {
            Random r = new Random();
            int i = r.nextInt(1000);
            boolean b=r.nextBoolean();
            float d;
            if(b) {
             d=(float) ((float)i*(-0.0001));
            }else {
             d=(float) ((float)i*(0.0001));
            }
            System.out.println(d);
    }
    }
      

  6.   

    bigdecimal类,或者数字格式化
      

  7.   

            Random random = new Random();
    double d = (random.nextInt(2000) - 1000) / 10000.0;
    System.out.println(d);
     有时候会是比较整的 没有4位.