我正在使用数字管道(编号:'1.2-2')来舍入小数。它适用于标准格式数字,但对于科学格式数字(指数),结果以标准格式返回。
例如,如果我应用上述数管1.336274995924138e + 306我期望1.34E + 306,但我所得到的是1336274995924140000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000。
同样在Angular JS 1.x中也能正常工作。
请告知我如何以与原始号码相同的符号取回结果。
答案 0 :(得分:1)
对于num = 1.336274995924138e + 306
num.toPrecision(3)
以3个有效数字得出科学记数法......即。 1.34E + 306
这是一个带有自定义管道的Plunker示例,当数字很大时会使用 toPrecision ,否则,它将使用您一直使用的 DecimalPipe 。 Custom Pipe Example
如果您想在代码库中加入它,请查看它在主app模块中的引用方式。