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