介绍
在Java开发中,经常需要生成各种随机数,其中Integer,Long,Float,Decimal用的最多,下面就来封装一个随机数工具类吧
代码
根据业务设置同一类型数值的不同形式,会使用Random,BigDecimal,Math类
package com.example.mysql.util;
import java.math.BigDecimal;
import java.util.Random;
public class NumberUtil {
public static Integer getStatusInt() {
//[0 - 5)
return new Random().nextInt(5);
}
public static Integer getAgeInt() {
// [10 - 60) 60 = 10 + 50
return new Random().nextInt(50) + 10;
}
public static Integer getSexInt() {
//[0 - 2)
return new Random().nextInt(2);
}
public static Integer getLevelInt() {
return new Random().nextInt(100);
}
public static BigDecimal accountDecimal() {
float minF = 1000000.0f;
float maxF = 1000.0f;
//生成随机数
BigDecimal bd = new BigDecimal(Math.random() * (maxF - minF) + minF);
//返回保留两位小数的随机数。不进行四舍五入
return bd.setScale(4,BigDecimal.ROUND_DOWN);
}
public static BigDecimal balanceDecimal() {
float minF = 1000000.0f;
float maxF = 1000.0f;
//生成随机数
BigDecimal bd = new BigDecimal(Math.random() * (maxF - minF) + minF);
//返回保留两位小数的随机数。不进行四舍五入
return bd.setScale(4,BigDecimal.ROUND_DOWN);
}
public static Long randomLong() {
return Math.abs(new Random().nextLong());
}
public static void main(String[] args) {
for (int i = 0; i < 1000; i++) {
System.out.println(randomLong());
}
}
}
效果
模拟数据验证