angular - 数字管道 0 或 2 位小数

标签 angular angular-pipe

我想实现数字格式,这样如果数字是圆形的,就不应该有小数占位符 .00 ,否则使用 2 位并且只有 2 位小数。例如:

1.23    -> 1.23
1.23456 -> 1.24
1.2     -> 1.20
1.0     -> 1
1       -> 1

根据文档,您只能指定小数位范围(例如 |number:'.0-2' )而不是具体选择(例如 |number:'.0,2' );我是对的还是有办法?

我知道我可以用一些 *ngIf -s 来达到同样的效果,但如果可能的话,我想避免。

最佳答案

如果你想对你的变量做不止一件事,最好的做法是创建两个不同的管道并将它们一起使用。重要的是从左到右的顺序。如果您只想显示两位数字,您可以使用内置管道,如 deicmalPipe:

Angular Doc
或者只是检查该主题:
Stack overflow answer

如果要显示 1 而不是 1.00,则可以创建自定义管道,在其中检查字符是否为 00 或其他。如果为 00,则返回没有这些数字的数字。

关于angular - 数字管道 0 或 2 位小数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46888351/

相关文章:

angular - 使用管道获取 Angular 中字符串的第一个单词?

表列多个值上的 Angular 过滤管

angular - 在 Angular 中应用条件类的最佳方式是什么?我应该使用 ngIf 还是 ngClass?

angular - 无法在 Angular 项目中运行 Mocha 测试

Angular 4 - 过滤时将 HTTP 请求限制为每 200 毫秒一次

angular - 在服务返回值之前从 Angular 自定义管道获取返回值

angular - 异步管道向子组件发送 'null' 值

Angular - 在模块定义中使用动态变量

javascript - 访问 @CanActivate 钩子(Hook)中的服务

javascript - 从 Angular 6 路由器获取语言前缀作为参数