数据取舍

Math.random()产生0-1之间的Double,已被淘汰。

1.多使用系统的类。

Random:可带种子或者不带种子。带种子每次运行一样的结果

  java.util.Random r=new java.util.Random(20); 
for(int i=0;i<10;i++){ 
    System.out.println(r.nextInt()); 

Math.ceil(rd.nextDouble()+2)   返回Double

Math.floor(rd.nextDouble()+2)   返回Double

Math.round(rd.nextDouble()+2) 返回int或long

2.float和double科学计算和工程计算,都不能进行商业精确计算,可以使用int,long,bigDecimal。

bigDecimal用来对超过16位有效位的数进行精确的运算,是一个对象。

1 public BigDecimal add(BigDecimal value);                        //加法 

2 public BigDecimal subtract(BigDecimal value);                   //减法

3 public BigDecimal multiply(BigDecimal value);                   //乘法 

4 public BigDecimal divide(BigDecimal value);                     //除法

Double f = 0.06+0.01;
System.out.println(f);//0.06999999999999999
BigDecimal bigDecimal = new BigDecimal(23);
BigDecimal bigDecimal1 = new BigDecimal(13);
BigDecimal  d = bigDecimal.add(bigDecimal1);
System.out.println(d.floatValue());//36.0

猜你喜欢

转载自www.cnblogs.com/shuchen007/p/9171822.html