一、Math类
public class Test01 { public static void main(String[] args){ //1、Math.random()产生[0,1)之间的小数 for (int i=0;i<10;i++){ System.out.println(Math.random()); } //2、 System.out.println("100的平方根:"+Math.sqrt(100)); System.out.println("100的立方根:"+Math.cbrt(100)); System.out.println("3的四次方:"+Math.pow(3,4)); //3、 System.out.println(Math.ceil(5.6));//返回大于等于指定数的最小整数 System.out.println(Math.floor(5.6));//返回小于等于指定数的最大整数 // 4、常量 System.out.println(Math.PI);//3.141592653589793 System.out.println(Math.E);//2.718281828459045 } }
二、java.text.DecimalFormat类
public class Test02 { public static void main(String[] args){ DecimalFormat decimalFormat = new DecimalFormat("###,###.000000"); System.out.println(decimalFormat.format(12345678.123)); } }
三、BigInteger/BigDecimal类
public class Test03 { public static void main(String[] args){ BigInteger i1=new BigInteger("1243434543566547"); BigInteger i2=new BigInteger("45456466577"); //相加 System.out.println(i1.add(i2)); //相乘 System.out.println(i1.multiply(i2)); //相减 System.out.println(i1.subtract(i2)); BigDecimal b1= new BigDecimal("12121212121212122121.12323"); BigDecimal b2= new BigDecimal("3432323232.3243435"); //相除,小数相除时,可能会出现除不尽的情况,会产生异常 //System.out.println(b1.divide(b2));//java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result. //小数相除时,可以指定小数的处理方式 BigDecimal b3 = b1.divide(b2, RoundingMode.CEILING); System.out.println(b3); } }