【问题标题】:javascript converting scientific notation, how to determine the number after power of 10javascript转换科学计数法,如何确定10次方后的数字
【发布时间】:2019-10-04 04:18:24
【问题描述】:

如果我在浏览器控制台中输入一个数字,结果是:

1000000000000000000000 --> 1e+21
0.00000000003453 --> 3.453e-11

我想确定e 后面的数字。在本例中,号码为21-11

谢谢!

【问题讨论】:

  • stackoverflow.com/questions/9383593/… 也许这对你有帮助。
  • 较小的数字应该给你什么?比如123应该给123还是2
  • 谢谢@Marty,我看到有人在这个线程中使用toExponential()。这就是我要解决的问题

标签: javascript numbers


【解决方案1】:

您可以使用.toExponential() 将数字转换为字符串,然后根据e 拆分并获取最后一个元素(即您的数字),如下所示:

const getExp = n =>
  +(n.toExponential().split('e').pop())

console.log(getExp(1000000000000000000000)) // 21
console.log(getExp(0.00000000003453)); // -11
console.log(getExp(0.000324)); // -4

【讨论】:

  • 它适用于非常长的数字。如果数字是 0.000324 则不起作用。也许javascript有一些方法可以转换它。顺便说一句,它适用于我的情况。谢谢,你很聪明!
  • @MattNguyen 您可以使用toExponential() 使其适用于较小的数字(我现在已经编辑了我的答案)
  • 哇,我认为这对我来说是完美的答案
猜你喜欢
  • 2013-04-07
  • 2012-06-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-09
  • 2015-12-27
  • 2019-07-09
  • 1970-01-01
相关资源
最近更新 更多