【问题标题】:Angularjs : How to format a number in an inputAngularjs:如何在输入中格式化数字
【发布时间】:2015-05-28 07:05:50
【问题描述】:

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

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

谢谢。

【问题讨论】:

标签: angularjs


【解决方案1】:

我尝试使用普通的 javaScript 方法来满足您的要求。

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

<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;
      }
    }
  };

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-07-23
    • 2013-11-22
    • 2015-07-22
    • 1970-01-01
    • 1970-01-01
    • 2019-03-18
    • 1970-01-01
    • 2021-11-25
    相关资源
    最近更新 更多