number

将数字格式化为字符串。

如果输入的是 null 或者 undefined,则会原封不动的返回。如果输入是无穷(Infinity/-Infinity), 会返回无穷的符号 '∞'。如果输入不是数字则返回一个空字符串。

用法

HTML 模板绑定中

{{ number_expression | number : fractionSize}}

JavaScript 中

$filter('number')(number, fractionSize)

参数

参数 形式 详细
number number
string
需要格式化的数字
fractionSize(可选) number
string
小数位的取舍量。默认为当前语言地区的最大量。

返回

string 数字会依据小数数位取舍,并且每三个数字会使用 , 分隔开。

例子

index.html

<script>
  angular.module('numberFilterExample', [])
    .controller('ExampleController', ['$scope', function($scope) {
      $scope.val = 1234.56789;
    }]);
</script>
<div ng-controller="ExampleController">
  <label>Enter number: <input ng-model='val'></label><br>
  Default formatting: <span id='number-default'>{{val | number}}</span><br>
  No fractions: <span>{{val | number:0}}</span><br>
  Negative number: <span>{{-val | number:4}}</span>
</div>

protractor.js

it('should format numbers', function() {
  expect(element(by.id('number-default')).getText()).toBe('1,234.568');
  expect(element(by.binding('val | number:0')).getText()).toBe('1,235');
  expect(element(by.binding('-val | number:4')).getText()).toBe('-1,234.5679');
});

it('should update', function() {
  element(by.model('val')).clear();
  element(by.model('val')).sendKeys('3374.333');
  expect(element(by.id('number-default')).getText()).toBe('3,374.333');
  expect(element(by.binding('val | number:0')).getText()).toBe('3,374');
  expect(element(by.binding('-val | number:4')).getText()).toBe('-3,374.3330');
});