对于科学计数法中的大数字,AngularJS输入失败

时间:2014-07-24 12:17:34

标签: javascript angularjs

我从Web服务获取包含大数字的对象,并在<input type="number">字段中显示它们。它一直有效,直到角度开始以科学记数法显示值。将显示该值,但是当用户修改该值时,它将从范围中以静默方式删除。

以下是一些示例代码

<div ng-app="testApp" ng-controller="testController">
    <input ng-model="value1" type="number" />{{ value1 }}
</div>

var app = angular.module("testApp", []);
app.controller('testController', function ($scope) {
  $scope.value = 1e+100;
});

http://jsfiddle.net/SJVH7/10/(尝试将第一个输入框修改为1e + 101)

我应该如何处理这么大的数字?

1 个答案:

答案 0 :(得分:0)

您必须使用自定义正则表达式,因为输入数字的默认正则表达式匹配器不会检测科学记数法。 You can do this with the ng-pattern attribute.