- System、Math、BigDecimal

import java.math.BigDecimal;
import java.math.BigInteger;
public class MathDemo {
public static void main(String[] args) {
double d = Math.abs(-9.9);
System.out.println(d);
d = Math.sin(Math.PI);
System.out.println(d);
// 浮点数的运算有精度问题,解决:BigDecimal类
System.out.println(0.09 + 0.01);// 0.09999999999999999
System.out.println(1.0 - 0.33);// 0.6699999999999999
System.out.println(0.0023 * 100);// 0.22999999999999998
System.out.println(12.3 / 100);// 0.12300000000000001
BigDecimal d1 = new BigDecimal("0.09");// 注意使用String类似构造,若使用double等构造仍然不精确
BigDecimal d2 = new BigDecimal("0.01");
System.out.println(d1.add(d2));// 0.10
d1 = new BigDecimal("1.0");
d2 = new BigDecimal("0.33");
System.out.println(d1.subtract(d2));// 0.67
d1 = new BigDecimal("0.0023");
d2 = new BigDecimal("100");
System.out.println(d1.multiply(d2));// 0.2300
d1 = new BigDecimal("12.3");
d2 = new BigDecimal("100");
System.out.println(d1.divide(d2));// 0.123
// BigInteger 用于解决超出long最大值的运算的
long num = Long.MAX_VALUE;
System.out.println(num);// 9223372036854775807
System.out.println(num + 1);// -9223372036854775808
System.out.println(BigInteger.valueOf(num).add(BigInteger.valueOf(1)));// 9223372036854775808
// static double random() 返回值为 double值为正号,大于等于 0.0 ,小于 1.0 。 [0,1)
// 打印 [0, 100)的随机数
for (int i = 0; i < 10; ++i) {
int randomNum = (int) (Math.random() * 100);
System.out.println(randomNum);
}
System.out.println("-------------------------------");
// static long round(double a) 返回参数中最接近的 long ,其中 long四舍五入为正无穷大。
long n = Math.round(4.5);
System.out.println(n);//5
}
}
*************
来源:https://www.cnblogs.com/htj10/p/12367374.html
