Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/424.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用angularjs将数字显示为浮点_Javascript_Angularjs_C# 4.0_Input_Angularjs Directive - Fatal编程技术网

Javascript 使用angularjs将数字显示为浮点

Javascript 使用angularjs将数字显示为浮点,javascript,angularjs,c#-4.0,input,angularjs-directive,Javascript,Angularjs,C# 4.0,Input,Angularjs Directive,我需要一个文本框来输入金额。我们应该限制输入特殊字符和小数点。我已经使用自定义过滤器完成了限制部分。要求在同一文本框中自动显示输入的数字,使其浮起两个小数点。当我添加过滤器时 有谁能建议我使用angularjs实现这一点 以下是输入文本我编写了一个指令,将输入限制为浮动: .directive('floatOnly', function() { return { require: 'ngModel', restrict: 'A', link: function(sc

我需要一个文本框来输入金额。我们应该限制输入特殊字符和小数点。我已经使用自定义过滤器完成了限制部分。要求在同一文本框中自动显示输入的数字,使其浮起两个小数点。当我添加过滤器时

有谁能建议我使用angularjs实现这一点


以下是输入文本

我编写了一个指令,将输入限制为浮动:

.directive('floatOnly', function() {
  return {
    require: 'ngModel',
    restrict: 'A',
    link: function(scope, element, attrs, modelCtrl) {
      modelCtrl.$parsers.push(function(inputValue) {
        if (inputValue === undefined) return '';

        // Remove forbidden characters
        cleanInputValue = inputValue.replace(',', '.') // change commas to dots
          .replace(/[^\d.]/g, '') // keep numbers and dots
          .replace(/\./, "x") // change the first dot in X
          .replace(/\./g, "") // remove all dots
          .replace(/x/, "."); // change X to dot
        if (cleanInputValue != inputValue) {
          modelCtrl.$setViewValue(cleanInputValue);
          modelCtrl.$render();
        }
        return cleanInputValue;
      });
    }
  }
});
您可以按如下方式使用它:

<input type="text" ng-model="myFloat" float-only/>

仅浮动:

如果您可以发布代码片段,这将有助于更好地理解。添加的代码以及我的要求是不允许通过键盘输入小数点,并自动将数字格式设置为两个小数点(.00)