【问题标题】:Javascript parseFloat 10 instead of eJavascript parseFloat 10 而不是 e
【发布时间】:2013-07-17 06:17:48
【问题描述】:

我在非常高的数字或非常低的数字上使用 parseFloat。 返回值就像 123*10e15 ,我需要像 123*10^15 。 15需要以高位书写作为战俘。 谢谢。

【问题讨论】:

  • 嗯,那么转换的哪一部分给您带来了麻烦?这似乎是一个简单的文本替换。
  • 我想你的意思是123e15不是 123*19e15
  • 1230000000000000000 你想要的输出?
  • parseFloatstring 解析为浮点 number。所以返回值为number123*10e15 是代表numberstring
  • 请看 Amadans 的回答,了解我想要什么。

标签: javascript parsefloat


【解决方案1】:

parseFloat 将字符串转换为数字。一个数字没有“格式”;当您显示它时,它会变成一个字符串(通过Float 的方法toString)。如果你想用插入符号显示它,你需要自己格式化(或重新格式化)成一个字符串:最简单的是这样的:

123e45.toString().replace('e', '*10^')     // result: "1.23*10^+47"

(如果+ 给您带来困扰,您可以尝试使用正则表达式:)

123e-45.toString().replace(/e\+?/, '*10^') // result: "1.23*10^47"

【讨论】:

  • 很好,解决了替换问题,现在..我怎样才能让 45 成为像 pow 这样的大写文本?
  • 您现在是在谈论 HTML 吗? .replace(/e([+-]?\d+)/, '*10<sup>$1</sup>')。如果您不是在谈论 HTML,那么您可能不会。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-30
  • 1970-01-01
  • 1970-01-01
  • 2012-09-23
  • 1970-01-01
相关资源
最近更新 更多