代码拉取完成,页面将自动刷新
同步操作将从 KwooShung/Randoms 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
import { Decimal } from 'decimal.js';
import ensureMinLessThanMax from '@/internal/ensureMinLessThanMax';
/**
* 生成随机数 (Generate random number)
* @description 最大值 和 最小值,有一个是小数,则结果为小数,否则为整数 (If the maximum value or the minimum value is a decimal, the result is a decimal, otherwise it is an integer)
* @param {number} maximum 最大值 (Maximum value)
* @param {number} [minimum = 0] 最小值 (Minimum value)
* @returns {number} 包含最小值或最大值的随机数 (Random number containing minimum or maximum value)
*/
const number = (maximum: number, minimum: number = 0): number => {
// 当最小值大于最大值时,交换最大值和最小值
[maximum, minimum] = ensureMinLessThanMax(maximum, minimum);
const maxDecimal = new Decimal(maximum);
const minDecimal = new Decimal(minimum);
// 计算最大精度(小数位数)
const maxDp = Math.max(maxDecimal.dp(), minDecimal.dp());
// 根据精度计算可能的最小和最大值
const scale = Math.pow(10, maxDp);
const minScaled = Math.ceil(minDecimal.mul(scale).toNumber());
const maxScaled = Math.floor(maxDecimal.mul(scale).toNumber());
// 在最小值和最大值之间生成一个随机整数,然后转换回小数
const randomInt = Math.floor(Math.random() * (maxScaled - minScaled + 1)) + minScaled;
const randomDecimal = new Decimal(randomInt).div(scale);
return randomDecimal.toNumber();
};
export default number;
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。