如何生成整数部分固定为150、小数部分在0.570-0.720间的随机数?
生成整数固定为150、小数在0.570-0.720之间的随机数
嘿,我来帮你修正这个问题!你当前的代码逻辑有点偏差——它会生成150.57到301.29之间的数,完全不符合你要整数部分固定150的需求。别担心,咱们调整一下思路就好:
核心逻辑很简单:整数部分固定是150,所以只需要生成0.570到0.720之间的随机小数,再和150相加就行。生成指定区间随机数的通用公式是:Math.random() * (最大值 - 最小值) + 最小值,套用到你的场景里就是:
// 直接套用公式的写法 var gapLeft = 150 + Math.random() * (0.720 - 0.570) + 0.570; console.log(gapLeft);
因为0.720减去0.570等于0.15,咱们也可以简化成更直观的写法:
// 简化后的写法,结果完全一致 var gapLeft = 150 + 0.570 + Math.random() * 0.15; console.log(gapLeft);
如果需要确保结果保留三位小数(比如输出150.623这样的格式),可以用toFixed()方法处理,注意它返回的是字符串,要转成数字的话可以用Number()或者加号:
var gapLeft = 150 + 0.570 + Math.random() * 0.15; // 保留三位小数并转为数字类型 gapLeft = Number(gapLeft.toFixed(3)); console.log(gapLeft);
这样就能完美生成你需要的随机数啦!
内容的提问来源于stack exchange,提问作者Mona Coder
相关产品推荐
相关产品推荐

