当前位置: 首页 > news >正文

TypeScript 生成指定范围内的随机数,并支持控制小数点后的位数

/**
 * 生成指定范围内的随机数(包含最小值和最大值),可以控制小数点后的位数
 *
 * @param min 随机数范围的最小值
 * @param max 随机数范围的最大值
 * @param decimals 小数点后的位数,默认为0(即返回整数)
 * @returns 返回指定范围内的随机数,小数点后位数由 decimals 参数指定
 */
export const random = (min: number, max: number, decimals = 0): number => {
  // 生成一个在 [min, max] 范围内的随机数
  const randomValue = Math.random() * (max - min) + min;
  // 计算小数位数对应的因子,用于四舍五入到指定的小数位
  const factor = Math.pow(10, decimals);
  // 将生成的随机数四舍五入到指定的小数位,并返回
  return Math.round(randomValue * factor) / factor;
};

使用例:

console.log(random(20, 80, 2)) // 68.01
console.log(random(10, 80, 2)) // 23.23

相关文章:

  • wsl2配置xv6全解(包括22.04Jammy)
  • 针对 pdf.mjs 文件因 MIME 类型错误导致的 Failed to load module script 问题解决方案
  • 【python】OpenCV—Hand Landmarks Detection
  • Siddon算法的公式和参数详细说明
  • 乐维网管平台核心功能解析(三)——告警关联资产
  • [vue]属性绑定
  • OceanBase 4.3.3 AP 解析:应用 RoaringBitmaps 类型处理海量数据的判重和基数统计
  • Word中公式自动标号带章节编号
  • 【设计模式】三十一、状态模式
  • 从投机到可持续发展:ETHDenver 2025 的关键启示!
  • OpenManus-RL 通过强化学习(RL)提升大型语言模型(LLM)代理的推理和决策能力
  • PowerShell 终端环境自动化配置
  • 【大语言模型_8】vllm启动的模型通过fastapi封装增加api-key验证
  • 物种分化在进化拓扑中的作用
  • 《深度学习》—— 模型部署
  • JAVA泛型的作用
  • RAGFlow爬虫组件使用及ragflow vs dify 组件设计对比
  • 深度学习篇---深度学习中的范数
  • 软考中级网络工程师第八章网络安全
  • 【react】工程项目中的通过自定义Hook进行路由设计以及路由鉴权
  • 美国调整对华加征关税
  • 前四个月人民币贷款增加10.06万亿元,4月末M2余额同比增长8%
  • 刘永明|在从普及到提高中发展新大众文艺
  • 干部任职公示:陕西宁强、镇安两县县长拟进一步使用
  • 肖峰读《从塞北到西域》︱拉铁摩尔的骆驼
  • 巴基斯坦外长:近期军事回应是自卫措施