求两个数最大值
//求两个数的最大值 int res = Math.max(10, 20); System.out.println(res);
求两个数最小值
int res = Math.min(5, 6); System.out.println(res);
返回一个随机数
//返回一个[0 1) 随机数 System.out.println(Math.random());; //返回0到100之间的随机整数 int res = (int) (Math.random() * 100); System.out.println((res));
开根
//开根 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 对象中的值以单精度数返回。
double d1 = 11000; double d2 = 0.35; // 错误的:3849.9999999999995 System.out.println("错误的:" + d1 * d2); BigDecimal bigDecimal1 = new BigDecimal(11000); BigDecimal bigDecimal2 = BigDecimal.valueOf(0.35); // multiply 乘法;正确的:3850.00 System.out.println("正确的:" + bigDecimal1.multiply(bigDecimal2));