-2

我正在通过赛普拉斯测试 Max Bid 功能,但我需要随机出价,使其增加 100。

var minval = 100; var maxval = 1000000; var bidAmount = Math.floor(Math.random() * maxval) + minval

上面给出的逻辑适用于任何随机数量。当我实现此逻辑时,我收到此错误:“出价应增加 100,输入为 589”请分享您的想法。谢谢!

4

1 回答 1

1

几个错误要修复

最重要的是,您没有做任何事情来确保投标金额是 100 的倍数。一个简单的方法是除以 100,四舍五入到最接近的整数,然后乘以 100。

其次,最好将 minval 设置为一个真正的最小可接受值,即 100。

第三,如果你真的希望值在 minval 和 maxval 之间,你应该乘以Math.random()(maxval-minval),这样当你添加 minval 时,它就会在你想要的范围内。

const minval = 100;
const maxval = 1000000;
const rawBidAmount = Math.floor(Math.random() * (maxval-minval)) + minval
const roundedBidAmount = 100*Math.round(rawBidAmount/100)

console.log(roundedBidAmount)

于 2021-09-26T22:15:53.723 回答