當在較大的數字使用數字濾波器,角被倒圓它們: 例如:值設定爲9999999999999.999並將其四捨五入到9999999999999.998如何避免在AngularJS自動小數四捨五入過濾
<body ng-app="numberFilterExample">
<script>
angular.module('numberFilterExample', [])
.controller('ExampleController', ['$scope', function($scope) {
$scope.val = 9999999999999.999;
}]);
</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>
</body>
</html>
有沒有辦法避免這種行爲?
它實際上並不是四捨五入的,而是JavaScript本身。只需在您的瀏覽器開發控制檯中粘貼9999999999999.999,它將返回9999999999999.998。這可能是因爲大數的浮點表示無法準確表示它。也許你可能想使用一些大型圖書館 –
https://github.com/MikeMcl/bignumber.js/ –
@JosephYoung,請提供您的信息作爲答案。 – isherwood