Angular 2 - 如何去除 angular 绑定中多余的小数?

Angular 2 - How to get rid of extra decimals in angular binding?

我认为我有这样的声明,绑定的值可以说是 6970.87127381382131831 但是,我想将它限制在最多 2 位小数。由于我使用 ngFor 列出元素,因此无法使用对象通过 .toFixed(2) 对其进行限制。谢谢你们 !

{{ cartitem.original_price * cartitem.qty * cartitem.unit_multiplier }}

我试过下面的方法:

 {{ cartitem.original_price * cartitem.qty * cartitem.unit_multiplier | number : 2 }}

没有帮助我。

如官方文档所述https://docs.angularjs.org/api/ng/filter/number

{{ number_expression | number : fractionSize}}

你的情况:

 {{ (cartitem.original_price * cartitem.qty * cartitem.unit_multiplier) | number : 2 }}

如果您想要固定位数,您可以创建自己的过滤器

App.filter('twoDecimal',function(input, scope){

return function(){

   return input.toFixed(2);

  }
})

并应用它

 {{ (cartitem.original_price * cartitem.qty * cartitem.unit_multiplier) | twoDecimal }}

以下表达式将允许您将小数部分设置为两位数:

 {{ cartitem.original_price * cartitem.qty * cartitem.unit_multiplier | number : '1.2-2' }}

1.2-2表示:小数点前至少一位,小数点后至少两位,但不超过两位。


{{ cartitem.original_price * cartitem.qty * cartitem.unit_multiplier | number : '1.0-2' }}

1.0-2表示:小数点前至少一位,小数点后不超过两位。


关于 Angular DecimalPipes 和配置:https://angular.io/api/common/DecimalPipe