【发布时间】:2021-05-10 08:11:00
【问题描述】:
我正在寻找一种格式化指数值的好方法,以满足以下所有条件...
- 在 HTML
<canvas>元素中工作 - 具有可配置的基值(即
10、2、e) - 将指数显示为上标,而不仅仅是
9x10^3 - 处理负上标指数
我发现的简单解决方案是使用一些 npm 包,例如 numeral.js,然后执行类似...
const n = 9000;
const label = numeral(n).format('0[.]00e+0') // 9e+3
这对于 base 10 来说并不可怕,但在使用 base 2 或 e 时就不好了
numeral(Math.pow(2, 4)).format('0,0e+0') // 2e+1
【问题讨论】:
-
“使用 base 2 或 e”是什么意思?您给出的示例仍然只使用
e+0。你想看到什么结果?另外,你想用那张桌子告诉我们什么?我觉得不错。 -
@ChristianFritz 我希望自己回答这个问题(见下文),以便为任何基值的值提供更好的格式化程序。
e+0值假定基数为 10,这不能很好地格式化基数2、e或其他。请参阅下面我的答案中的表格。上表是为了说明使用numeral.js时的当前格式。
标签: javascript charts logarithm exponent