在JavaScript中生成一个两位数的正整数随机数

5
我该如何在JavaScript中实现一个简单的函数,生成一个只包含两位数字的正随机数?

你的意思是0..99吗?还是10..99? - John Dvorak
“Negative” 是什么意思?为了获得特定的范围,只需缩放均匀分布,然后四舍五入到整数即可。我很惊讶你还没有找到这样做的例子。 - John Dvorak
1
这不可能是第一个扩展和舍入随机数的问题。候选者:*在JavaScript中生成特定范围内的随机整数* - Peter Mortensen
2个回答

24

生成10到99之间的随机数,使用以下方法:

Math.floor(Math.random() * 90 + 10)

jsFiddle演示: http://jsfiddle.net/zjLY6/


这不会受到浮点数舍入误差的影响吗?如果在加法之前将10转换为浮点数时,它实际上被表示为9.9999987183884837499393,那怎么办?即使对于10而言它能够正常工作,但它可能并不适用于所有情况。 - Peter Mortensen
10不应该在括号外面吗? - Peter Mortensen

7
尝试:
Math.random().toFixed(2)*100

1
这可能会产生像 56.99999999999999 这样的结果。最好将 Math.floor 应用于结果。 - Lucas Colombo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接