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