1

在使用 mathjs 的函数中,希望结果显示为 1000000000000000000000000000 而不是 1e+27。

我尝试了 math.format() 函数,但没有用。

> x = 1e+27
< 1e+27
> math.format(x, {notation: 'fixed'})
< "1e+27"
> math.format(x, {notation: 'auto', exponential: {lower: 1e-100, upper: 1e+100}})
< "1e+27"
4

1 回答 1

2

您正在做正确的事情,您的两个格式示例都应该有效。

问题是 math.jstoPrecision在底层使用了 JavaScript,它允许精度高达 21 位。所以当你尝试时x=1e20,它会返回你想要的输出,x=1e21并且更大,你会得到指数符号。

不过,我会称这是一个错误,如果 math.js 支持这一点,那就太好了,如果不支持,至少在尝试配置太大lowerupper值时会出错。我在 github 项目中为此创建了一个问题:https ://github.com/josdejong/mathjs/issues/291

于 2015-02-28T20:43:42.203 回答