/**
* 生成指定范围的随机整数。
* 随机数的生成区间为 [min, max)
*
* @param min 区间的最小值
* @param max 区间的最大值
* @returns {number} 在区间范围内的随机整数
*/
export function genRandomInt(min: number, max: number): number {
// Math.random() 区间 [0, 1)
// 向下取整得到整数
return Math.floor(Math.random() * (max - min) + min)
}
/**
* 生成指定范围的随机整数。
* 随机数的生成区间为 [min, max]
*
* @param min 区间的最小值
* @param max 区间的最大值
* @returns {number} 在区间范围内的随机整数
*/
export function genRandomIntBoth(min: number, max: number): number {
// Math.random() 区间 [0, 1)
// Math.random() * (max - min + 1) 保证有可能取到最大值
// 向下取整得到整数
return Math.floor(Math.random() * (max - min + 1) + min)
}
/**
* 生成指定范围的随机浮点数。
* 随机数的生成区间为 [min, max)
*
* @param min 区间的最小值
* @param max 区间的最大值
* @returns {number} 在区间范围内的随机浮点数
*/
export function generateRandomFloat(min: number, max: number): number {
// Math.random() 区间 [0, 1)
return Math.random() * (max - min) + min
}
/**
* 生成指定范围的随机浮点数,且浮点数保留指定小数位数(四舍五入)
* 随机数的生成区间为 [min, max)
*
* @param min 区间的最小值
* @param max 区间的最大值
* @param digit 浮点数保留的小数位数,不指定,默认保留两位小数
* @returns {number} 在区间范围内保留指定小数位数的随机浮点数
*/
export function generateRandomFloatDigit(min: number, max: number, digit: number = 2): number {
// 生成指定范围的随机浮点数,且浮点数保留指定小数位数
return Number.parseFloat(generateRandomFloat(min, max).toFixed(digit))
}