Angular - Module
Module with controller, filter, and directive.
HTML
<script src="https://code.angularjs.org/1.5.8/angular.min.js"></script>
<script src="https://code.angularjs.org/1.5.8/angular-resource.min.js"></script>
<script src="https://code.angularjs.org/1.5.8/angular-route.min.js"></script>
<body ng-app="app">
<div ng-controller="ExampleController">
<label>Enter number: <input ng-model='val' ng-change="myFunc()" ></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><br>
Kilo number: <span>{{ Formatted }}</span>
</div>
</body>
JavaScript
var mainApp = angular.module('app', [
])
mainApp.factory('utilityService', ['$log','$filter',
function ($log, $filter) {
var Service = {};
Service.ToKiloFormat = function (num) {
if (num >= 100000000)
return $filter('number')((num / 1000000),1) + "M+";
if (num >= 10000000)
return $filter('number')((num / 1000000),1) + "M+";
if (num >= 100000)
return $filter('number')((num / 1000),1) + "K+";
if (num >= 10000)
return $filter('number')((num / 1000),1) + "K+";
if (num >= 1000)
return (num / 1000).toFixed(1) + "K+";
return $filter('number')(num);
}
return Service;
}]);
mainApp.controller('ExampleController', ['$scope','utilityService', function($scope,utilityService) {
$scope.val = 1234.56789;
$scope.myFunc =function(){
$scope.Formatted= utilityService.ToKiloFormat($scope.val);
}
}]);