Angular 2 - 用于科学记数法数字的数字管

标签 angular angular-pipe

我正在使用数字管(数字:'1.2-2')来四舍五入小数。它适用于标准格式数字,但对于科学格式数字(指数),结果以标准格式返回。

例如,如果我将上述数字管道应用于 1.336274995924138e+306,我期望 1.34e+306 但我得到的是 13362749959241400000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000。

在 Angular JS 1.x 中同样可以正常工作。

请告诉我如何以与原始数字相同的符号返回结果。

最佳答案

对于数字 = 1.336274995924138e+306

num.toPrecision(3)

结果以科学记数法表示,有 3 位有效数字...即 1.34e+306

这是一个带有自定义管道的 Plunker 示例,当数字很大时,它将使用 toPrecision,否则,它将使用您一直在使用的 DecimalPipeCustom Pipe Example

如果您想将其合并到代码库中,请查看主应用程序模块中如何引用它。

关于Angular 2 - 用于科学记数法数字的数字管,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43859972/

相关文章:

javascript - 我如何计算一个组件被调用的次数 Angular 4

css - 如何更改嵌套 Accordion 中特定 Accordion 的背景颜色?

javascript - 在 Angular 5+ 中过滤和/或分组数据

Angular : Parser Error: Unexpected token -, 预期标识符、关键字或字符串

angular - 在 Angular 2 中将对象传递给 Pipe 而不是键

javascript - 在发布请求时设置标题 - Angular

javascript - 删除数组对象 typescript/JavaScript 的某些属性时出错

Angular 键值管道排序属性/按顺序迭代

Angular - 如何为多个 http 请求实现 switchMap?

css - Angular SlickGrid 对齐标题文本