首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用浮点值制作math.random

用浮点值制作math.random
EN

Stack Overflow用户
提问于 2014-09-22 13:20:40
回答 2查看 435关注 0票数 1

我有一个小函数,它允许接收一些必须是百分比值(0-100)的整数,并有机会了解它当前是否为真(roll):

代码语言:javascript
运行
复制
function RollV (value) {
        var rollvalue = Math.floor((Math.random() * 100) + 1),
        result = true;
        if (value >= rollvalue) {
            result = true;
        } else {
            result = false;
        }
        return result;
    }

据我所知,这个函数不会返回truevalue,因为随机rollvalue不能浮动,就像如果我想使用0.001%的机会,这不会被作为true传递,有什么方法可以用浮点数使数学随机吗?

JSFiddle:http://jsfiddle.net/7nbv2nrd/

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-09-22 13:23:36

您可以使用以下代码:

代码语言:javascript
运行
复制
 (Math.random() * (upper_limit - lower_limit) + lower_limit).toFixed(3)

更新

正如@Pointy所说,这将返回字符串,如果您希望它是浮动的,可以使用parseFloat(值)或.toFixed()

编辑

默认情况下,Math.random()结果是浮动的,如果您不想设置限制(假设您的ok值为0到1 ),请从代码中删除Math.floor

票数 2
EN

Stack Overflow用户

发布于 2014-09-22 13:34:06

这对我有用。

FIDDLE

代码语言:javascript
运行
复制
function RollV(value) {
    var rollvalue = Math.random();
    $('.result').text(rollvalue);
    return value >= rollvalue;
}

console.log(0.01,RollV(0.01));
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25975208

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档