1. /**
    2. * 生成指定范围的随机整数。
    3. * 随机数的生成区间为 [min, max)
    4. *
    5. * @param min 区间的最小值
    6. * @param max 区间的最大值
    7. * @returns {number} 在区间范围内的随机整数
    8. */
    9. export function genRandomInt(min: number, max: number): number {
    10. // Math.random() 区间 [0, 1)
    11. // 向下取整得到整数
    12. return Math.floor(Math.random() * (max - min) + min)
    13. }
    14. /**
    15. * 生成指定范围的随机整数。
    16. * 随机数的生成区间为 [min, max]
    17. *
    18. * @param min 区间的最小值
    19. * @param max 区间的最大值
    20. * @returns {number} 在区间范围内的随机整数
    21. */
    22. export function genRandomIntBoth(min: number, max: number): number {
    23. // Math.random() 区间 [0, 1)
    24. // Math.random() * (max - min + 1) 保证有可能取到最大值
    25. // 向下取整得到整数
    26. return Math.floor(Math.random() * (max - min + 1) + min)
    27. }
    28. /**
    29. * 生成指定范围的随机浮点数。
    30. * 随机数的生成区间为 [min, max)
    31. *
    32. * @param min 区间的最小值
    33. * @param max 区间的最大值
    34. * @returns {number} 在区间范围内的随机浮点数
    35. */
    36. export function generateRandomFloat(min: number, max: number): number {
    37. // Math.random() 区间 [0, 1)
    38. return Math.random() * (max - min) + min
    39. }
    40. /**
    41. * 生成指定范围的随机浮点数,且浮点数保留指定小数位数(四舍五入)
    42. * 随机数的生成区间为 [min, max)
    43. *
    44. * @param min 区间的最小值
    45. * @param max 区间的最大值
    46. * @param digit 浮点数保留的小数位数,不指定,默认保留两位小数
    47. * @returns {number} 在区间范围内保留指定小数位数的随机浮点数
    48. */
    49. export function generateRandomFloatDigit(min: number, max: number, digit: number = 2): number {
    50. // 生成指定范围的随机浮点数,且浮点数保留指定小数位数
    51. return Number.parseFloat(generateRandomFloat(min, max).toFixed(digit))
    52. }