使用toFixed和角数过滤器有什么区别?

时间:2016-06-13 17:32:12

标签: javascript angularjs angular-filters

有什么区别:

{{3.14159 | 2号 }} 和 {{3.14159.toFixed(2)}}

有人提供优势吗? 感谢

2 个答案:

答案 0 :(得分:5)

这里的值仍然相同但被掩盖为3.14

{{ 3.14159 | number : 2 }} 

但是这里

{{ 3.14159.toFixed(2) }}

toFixed(x)函数将数字转换为字符串,仅保留两位小数。例如

var num = 5.56789;
var n = num.toFixed();
// the output is = 6

如果您使用

var num = 5.56789;
var n = num.toFixed(2);
// the output is = 5.57

注意:如果所需的小数位数高于实际数字,则会添加空值以创建所需的小数位数。

答案 1 :(得分:2)

角度数字过滤器不会更改属性的原始值,例如:

{{ 3.14159 | number : 2 }} // this will give you 3.14 in the dom but the actual value will still be 3.14159

当您使用过滤器时,它仅用于显示目的,并不会更改它只是屏蔽它的属性。当您使用toFixed()时,您将返回一个设置为指定小数位的原始数字的字符串,然后可以将其设置为另一个变量。