给定 0 到 1 之间的任何数字,例如 0.84729347293923
,是否有一种简单的方法可以将其转换为 84729347293923
而无需字符串或正则表达式操作?我可以考虑使用循环,这可能并不比使用字符串差,因为它是 O(n)
,其中 n
是位数。但还有更好的办法吗?
function getRandom() {
let r = Math.random();
while (Math.floor(r) !== r) r *= 10;
return r;
}
for (let i = 0; i < 10; i++)
console.log(getRandom());
最佳答案
整数 mod 1 = 0,非整数 mod 1 != 0。
while ((r*=10) % 1);
关于javascript - 在JavaScript中,有没有一种方法可以将 0.84729347293923 转换为整数而不使用任何字符串或正则表达式操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60132371/