Thousands Formatter directive

format input field for currency, but leave model value as regular input.

HTML

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.5/angular.min.js"></script>
<div ng-app='myApp'>
    <div ng-controller="myCtrl">
      
        <input ng-model="numba" num ></input>
            {{numba}}
    </div>
</div>

JavaScript

var myApp = angular.module('myApp', []);

function myCtrl($scope) {
        $scope.numba = 1500.90;

}

myApp.directive('num', function ($filter) {
    var precision = 3;
    return {
        require: 'ngModel',
        link: function (scope, element, attrs, ctrl) {
            ctrl.$formatters.push(function (data) {
                var formatted = $filter('number')(data, 0);
                return formatted.replace(',','.'); //converted
            });
            ctrl.$parsers.push(function (data) {
                var plainNumber = data.replace(/[^\d|\-+|\+]/g, '');
                var formatted = $filter('number')(plainNumber, 0);
              
                element.val(formatted);
                  alert(element.val());
                var final =  Number(plainNumber);
                plainNumber = plainNumber.replace(',','.');
                return Number(plainNumber);
            });
        }
    };
});