javascript - 在JavaScript中,有没有一种方法可以将 0.84729347293923 转换为整数而不使用任何字符串或正则表达式操作?

标签 javascript

给定 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/

相关文章:

javascript - 如何在 VSCode 编辑器中调试 NodeJS(ES6) 代码?

javascript - 适应(求解)复杂方程的算法(隐函数 f(x,y) )

javascript - 从 Javascript (JQuery) 调用 C# 函数 (WebMethod)

javascript - 如何在 Canvas 元素上绘制视频?

javascript - 将返回的数据从导出函数传递到 React 组件

javascript - 具有动态内容的 Owl Carousel - 上一个/下一个导航不起作用

javascript - 为什么 <h4> 和 <p> 元素中的文本没有一起出现?

javascript - 在一个页面上写多个单独的 &lt;script&gt; 是否正确?

javascript - SQL 没有 PHP 只有 javascript

javascript - 如何通过javascript从父窗口访问子窗口?