javascript - 如何在JS中实现随机出价增加100的逻辑
问题描述
我正在通过赛普拉斯测试 Max Bid 功能,但我需要随机出价,使其增加 100。
var minval = 100; var maxval = 1000000; var bidAmount = Math.floor(Math.random() * maxval) + minval
上面给出的逻辑适用于任何随机数量。当我实现此逻辑时,我收到此错误:“出价应增加 100,输入为 589”请分享您的想法。谢谢!
解决方案
几个错误要修复
最重要的是,您没有做任何事情来确保投标金额是 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)
推荐阅读
- c# - 检查器中的动态标题
- python - 正则表达式错误:位置 6 处的字符范围 8-1 错误
- node.js - 是否有可键入的命令来停止 nix 系统上的 nodemon?
- macos - 环境变量未在 Android Studio 首次启动时设置,但在后续启动时设置
- javascript - 使用 jquery 在更改时删除复选框背景颜色
- javascript - D365 模态对话框 - 通过 JavaScript 关闭
- ignite - 是否有使用 ignite python 瘦客户端将数据加载到缓存的有效方法?
- google-chrome - 使用 testcafe 在浏览器中设置用户代理
- jquery - Tinymce 编辑器:编辑 url 名称 - urlconverter:callback?
- c++ - 继承(基本级别)询问用户宽度和高度的最佳方式是什么?(形状示例)