求两个数最大值
| 12
 3
 
 | int res = Math.max(10, 20);
 System.out.println(res);
 
 | 
求两个数最小值
| 12
 
 | int res = Math.min(5, 6);System.out.println(res);
 
 | 
返回一个随机数
| 12
 3
 4
 5
 
 | System.out.println(Math.random());;
 
 int res = (int) (Math.random() * 100);
 System.out.println((res));
 
 | 
开根
| 12
 3
 
 | double res = Math.sqrt(4);
 System.out.println(res);
 
 | 
大精度小数BigDecimal
金额用什么数据类型
不是 doube,更不是 float,而是用 BigDecimal
对于金融项目,对于金额,误差是不能容忍的
Java 中 float 的精度为 6-7 位有效数字。double 的精度为 15-16 位,BigDecimal 用来对超过16位有效位的数进行精确的运算
常用方法
- add(BigDecimal) BigDecimal 对象中的值相加,然后返回这个对象。
- subtract(BigDecimal) BigDecimal 对象中的值相减,然后返回这个对象。
- multiply(BigDecimal) BigDecimal 对象中的值相乘,然后返回这个对象。
- divide(BigDecimal) BigDecimal 对象中的值相除,然后返回这个对象。
- toString()将 BigDecimal 对象的数值转换成字符串。
- doubleValue()将 BigDecimal 对象中的值以双精度数返回。
- floatValue()将 BigDecimal 对象中的值以单精度数返回。
| 12
 3
 4
 5
 6
 7
 8
 9
 
 | double d1 = 11000;double d2 = 0.35;
 
 System.out.println("错误的:" + d1 * d2);
 
 BigDecimal bigDecimal1 = new BigDecimal(11000);
 BigDecimal bigDecimal2 = BigDecimal.valueOf(0.35);
 
 System.out.println("正确的:" + bigDecimal1.multiply(bigDecimal2));
 
 |