Edit in JSFiddle

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

angular.module('dollarFilter', []).filter('dollars', function() {
	return function(value) {return "$" + addCommas(Math.round(value));}
});

myApp.controller('appCtrl', function ($scope) {
    $scope.total = 300.49756;
});

function addCommas(nStr) {
  nStr += '';
  x = nStr.split('.');
  x1 = x[0];
  x2 = x.length > 1 ? '.' + x[1] : '';
  var rgx = /(\d+)(\d{3})/;
  while (rgx.test(x1)) {
    x1 = x1.replace(rgx, '$1' + ',' + '$2');
  }
  return x1 + x2;
}
<div ng-controller="appCtrl">
    {{total | dollars}}
</div>

              

External resources loaded into this fiddle: