我制作了一个脚本,该脚本生成一个介于1和googol之间的数字(该数字由1和100个零组成),但是它无法正确显示这些数字。它会生成类似“ 7.463677302002907e + 99”的数字,这不是我想要的。我是Java的新手,但是我做到了。
这是代码:
<html>
<body>
<title>Random number between 1 an a googol-generator</title>
<p id="demo">Click the button to display a random number between 1 and a googol.</p>
<button onclick="myFunction()">Generate</button>
<script>
function myFunction()
{
var x=document.getElementById("demo")
x.innerHTML=Math.floor((Math.random()*10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000)+1);
}
</script>
</body>
</html>
最佳答案
JavaScript无法处理那么大的数字。它可以处理这么大的数字,但不能处理那么精确。
Javascript中的数字是浮点数,精度约为15位。如果您在googol附近制作一个随机数,则开始时只有15位数字,而结尾处最多为85个零。
要创建一个大数字,您需要制作几个随机数字并将这些数字放在一起以形成一个大数字。例:
var s = '';
for (var i = 0; i < 10; i++) {
s += Math.floor(Math.random() * 1e10);
}
while (s.length > 1 && s[0] == '0') s = s.substr(1);
演示:http://jsfiddle.net/Guffa/YxJ3U/
关于javascript - 您如何使Javascript显示非常大的数字?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20655142/