Angular 角形2号管,用于科学符号数字
我使用数字管道(数字:'1.2-2')来舍入小数。它适用于标准格式数字,但对于科学格式数字(指数),结果以标准格式返回 例如,如果我将上面的数字管道应用于1.336274995924138e+306,我期望1.34e+306,但得到的是133627499241400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 同样的方法在AngularJS1.x中也适用Angular 角形2号管,用于科学符号数字,angular,angular-pipe,Angular,Angular Pipe,我使用数字管道(数字:'1.2-2')来舍入小数。它适用于标准格式数字,但对于科学格式数字(指数),结果以标准格式返回 例如,如果我将上面的数字管道应用于1.336274995924138e+306,我期望1.34e+306,但得到的是133627499241400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
请告知如何以与原始数字相同的符号返回结果。对于num=1.336274995924138e+306
num.toPrecision(3)
结果以3位有效数字表示,即。
1.34e+306
下面是一个Plunker示例,其中有一个自定义管道,当数字较大时,它将使用toPrecision,否则,它将使用您一直使用的DecimalPipe
如果您想将其纳入代码库,请查看其在主应用程序模块中的引用方式。谢谢。toPrecision适用于科学格式,但不适用于标准格式数字。在我的情况下,我需要的东西,可以与标准和科学的格式。因此,如果我的输入是标准格式,管道必须将其四舍五入到小数点后2位,结果必须是标准格式。如果输入是科学格式的,那么结果必须是科学格式的。