Math 类
如果进行负数四舍五入时,小数位大于 0.5 才进位,小于或者等于 0.5 不进位。
public class Main {
public static void main(String[] args) {
System.out.println(Math.round(2.5));
System.out.println(Math.round(-2.5));
System.out.println(Math.round(-2.51));
}
}
Random 类
import java.util.Random;
public class Main {
public static void main(String[] args) {
int array [] = new int [10];
Random random = new Random();
int foot = 0;
while (foot < 10){
int data = random.nextInt(100);
if(!isRepeat(array,data)){
array[foot] = data;
foot ++;
}
}
java.util.Arrays.sort(array);
for(int i = 0; i < array.length; i ++){
System.out.println(array[i]);
}
}
public static boolean isRepeat(int array [], int data){
for(int i = 0; i < array.length; i ++){
if(array[i] == data){
return true;
}
}
return false;
}
}
BigInteger 类
import java.math.BigInteger;
public class Main {
public static void main(String[] args) {
System.out.println(Byte.MAX_VALUE);
System.out.println(Short.MAX_VALUE);
System.out.println(Integer.MAX_VALUE);
System.out.println(Long.MAX_VALUE);
System.out.println(Double.MAX_VALUE);
BigInteger bigA = new BigInteger("12345678901234567845678909");
BigInteger bigB = new BigInteger("987654321234567898798");
System.out.println(bigA.add(bigB));
System.out.println(bigA.subtract(bigB));
System.out.println(bigA.multiply(bigB));
System.out.println(bigA.divide(bigB));
BigInteger result [] = bigA.divideAndRemainder(bigB);
System.out.println(result[0] + " " + result[1]);
}
}
BigDecimal
实现准确的四舍五入
import java.math.BigDecimal;
public class Main {
public static void main(String[] args) {
System.out.println(round(-23343.434232,3));
}
public static double round(double num, int scale){
BigDecimal bidA = new BigDecimal(num);
BigDecimal bidB = new BigDecimal(1);
return bidA.divide(bidB,scale,BigDecimal.ROUND_HALF_UP).doubleValue();
}
}