- 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