javascript - Math.random() 结果似乎颠倒了
问题描述
我目前正在对 Math.Random() 的结果使用真假脚本
代码如下
var win = Math.random() >= (percent / 100);
if (win === true) {
console.log("true")
} else {
console.log("false")
}
在这种情况下
percent
,默认为 50。如果我将百分比设置为 90%,它会一直或多或少Math.random() >= (90 / 100);
地返回 false .. 但是由于您只有 10% 可以返回 false,这很奇怪如果我将百分比设置为 1%,它会一直返回 true(但我想它几乎总是应该返回 false,因为从技术上讲,你只有 1% 的机会返回 true)。
>=(也大于或等于)是否翻转了错误的一面 - 即使您输入 90(百分比)/ 100,它确实感觉您获胜的机会更少 = true
希望有人能澄清我的符号是否放置错误
解决方案
如果百分比 = 90,这意味着Math.random
必须为 0.9 或更大,在 10% 的情况下返回 true。
所以反转比较器:
var win = Math.random() < (percent / 100);
推荐阅读
- opengl - 使用opengl进行颜色切换
- html - 延伸到父 Div 的全高的子 Div
- android - 根据下拉列表中选择的值获取 Firebase 数据
- bootstrap-4 - 带有示例仪表板的 Bootstrap 4.1 文档中缺少类侧边栏
- python - LSTM,Keras - 训练和测试数据集上的损失图
- bash - Bash:本地数组阴影参数最终为空
- sql - 在一个 SQL Server 存储过程中同时包含 INSERT 和 UPDATE 查询
- vue.js - TypeError:无法读取未定义的属性“$http”
- azure-cosmosdb - Cosmos DB:网关不能直接服务跨分区查询
- c# - C# 图形:区域剪辑和命中测试