Angularjs:如何格式化输入中的数字

时间:2015-05-28 07:05:50

标签: angularjs

我正在使用angularjs,我想格式化输入中的数字显示 要显示具有特定格式的简单值,我会这样做:
 {{myValue:number:2}}
但有一个输入:
<input type="text" ng-model ="myValue"/>我不知道该怎么做 如果我做 : <input type="text" ng-model ="myValue|number:2"/>我收到了错误消息:

  

错误:[ngModel:nonassign]表达式'myValue | number:2'是   不可转让。元素:

谢谢。

1 个答案:

答案 0 :(得分:0)

我尝试使用普通的javaScript方法,以达到您的要求。

我在ng-change="floatNumber(mynumber)"中添加了input,因此在每次更改时,该功能都会触发并在那里进行计算:

<input type="text" ng-model="mynumber" ng-change="floatNumber(mynumber)">

  $scope.floatNumber = function(mynumber) {
    var retNum = '';
    if (mynumber.indexOf('.') > 0) {
      var splitNum = [];
      splitNum = mynumber.split('.');
      //if (splitNum[1].length === 0)
      //retNum = mynumber + '00';
      if (splitNum[1].length === 1) {
        retNum = mynumber + '0';
        $scope.mynumber = retNum;
      }
    }
  };

Sample Plunker:http://plnkr.co/edit/YyTqc28c23ccITQGshAX?p=preview