• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

earthnutDev / a-js-tools / 14113566943

27 Mar 2025 06:01PM UTC coverage: 90.291% (-0.4%) from 90.722%
14113566943

push

github

earthnutDev
version: 0.1.2 2025-03-28 02:01:49 删除了过去的自己

87 of 99 branches covered (87.88%)

Branch coverage included in aggregate %.

15 of 17 new or added lines in 4 files covered. (88.24%)

1 existing line in 1 file now uncovered.

99 of 107 relevant lines covered (92.52%)

6.64 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

87.5
/src/getRandomNumber.ts
1
/**
2
 * 过去随机数
1✔
3
 *
1✔
4
 * @packageDocumentation
1✔
5
 * @module @a-js-tools/get-random-number
6
 * @license MIT
7
 */
8
import { isNaN, isNumber } from 'a-type-of-js';
9

10
/**
11
 *
12
 * 获取一个随机的整数类型
1✔
13
 *
14
 * 您可以传入两个参数并获取它们之间的任意数字
15
 *
16
 * 如果只传递一个参数,则如果提供的值为负数,则得到一个小于(或大于)该数字的整数
17
 *
18
 * @param   max 较大值 ,不允许为`NaN`
19
 * @param   min 较小值,不允许为 `NaN`
20
 * @returns  任意的整数
21
 */
22
export function getRandomInt(max: number = 1, min: number = 0): number {
23
  //  判断是否为 NaN 或 不是数字
24
  if (
25
    !isFinite(max) ||
×
26
    !isFinite(min) ||
27
    isNaN(max) ||
4!
28
    isNaN(min) ||
29
    !isNumber(max) ||
30
    !isNumber(min)
31
  ) {
32
    throw new TypeError('getRandomInt: max or min is NaN or is not a number');
UNCOV
33
  }
×
34

35
  /**  获取最小值  */
36
  let _min = Math.ceil(Number(min)),
4✔
37
    /**  获取最大值  */
38
    _max = Math.floor(Number(max));
4✔
39
  /**  两值交换  */
40
  if (_min > _max) [_max, _min] = [_min, _max];
4✔
41
  //**  两值相等时,直接返回最大值  */
2✔
42
  if (_max === _min) return _max;
43
  return Math.round(Math.random() * (_max - _min) + _min);
4✔
44
}
1✔
45

3✔
46
/**
47
 *
48
 * 获取任意的浮点数
49
 *
50
 * 您可以传入两个参数并获取它们之间的任意数字
51
 *
52
 * 如果只传入一个参数,则如果提供的值为负数,则获取小于(或大于)该数字的浮点数
53
 *
54
 * @param   max 较大数,缺省值为 1
55
 * @param min 较小值,缺省值为 0
56
 * @returns  任意的浮点数
57
 */
58
export function getRandomFloat(max: number = 1, min: number = 0): number {
59
  //  判断是否为 NaN 或 不是数字
2✔
60
  if (
61
    !isFinite(max) ||
4!
62
    !isFinite(min) ||
63
    isNaN(max) ||
64
    isNaN(min) ||
65
    !isNumber(max) ||
66
    !isNumber(min)
NEW
67
  ) {
×
68
    throw new TypeError('getRandomInt: max or min is NaN or is not a number');
69
  }
4✔
70
  if (max == min) max++;
1✔
71
  if (min > max) [max, min] = [min, max];
4✔
72
  return Math.random() * (max - min) + min;
1✔
73
}
4✔
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc