This is an Angular.js filter that applies Numeral.js formatting.
- 
Include Numeral.js in your project 
- 
Include either the minified or non-minified javascript file from the /dist/folder:<script src="angular-numeraljs.js"></script> 
- 
Inject the ngNumeraljsfilter into your app module:var myApp = angular.module('myApp', ['ngNumeraljs']); 
- 
Apply the filter with the desired format string: <p> {{ price | numeraljs:'$0,0.00' }} </p> 
You can configure ngNumeraljs during Angular's configuration phase using the $numeraljsConfigProvider:
var app = angular.module('exampleApp', ['ngNumeraljs']);
app.config(['$numeraljsConfigProvider', function ($numeraljsConfigProvider) {
    // place configuration here
}]);Numeral.js must be already loaded in the browser prior to using $numeraljsConfigProvider.
$numeraljsConfigProvider.setFormat(name, formatString) - defines a named format which can be used in place of the format string in the filter.
app.config(['$numeraljsConfigProvider', function ($numeraljsConfigProvider) {
    $numeraljsConfigProvider.setFormat('currency', '$ 0,0.00');
}]);In markup,
<p>
    {{ price | numeraljs:'currency' }}
</p>Numeral.js defines the default format as '0,0', so this format is used if none is provided to the filter.
$numeraljsConfigProvider.setDefaultFormat(format) - overrides the built-in default format.
app.config(['$numeraljsConfigProvider', function ($numeraljsConfigProvider) {
    $numeraljsConfigProvider.setDefaultFormat('0.0 $');
}]);In markup,
<p>
    {{ price | numeraljs }}     <!-- will produce 15.5 $ -->
</p>$numeraljsConfigProvider.setLanguage(langId, definition) - adds new language definitions to Numeral.js. See the available list here: languages.
app.config(['$numeraljsConfigProvider', function ($numeraljsConfigProvider) {
    var language = {
        delimiters: {
            thousands: ' ',
            decimal: ','
        },
        abbreviations: {
            thousand: 'k',
            million: 'm',
            billion: 'b',
            trillion: 't'
        },
        ordinal: function (number) {
            return '.';
        },
        currency: {
            symbol: '€'
        }
    };
    $numeraljsConfigProvider.setLanguage('de', language);
}]);Languages can be loaded directly into Numeral.js as well, e.g. by loading the language files after Numeral.js is loaded. Angular-numeraljs can use these languages even if they are not set via this provider.
$numeraljsConfigProvider.setCurrentLanguage(langId) - selects the current language.  The language must be loaded either by $numeraljsConfigProvider.setLanguage() or by loading the Numeral.js language file.
app.config(['$numeraljsConfigProvider', function ($numeraljsConfigProvider) {
    $numeraljsConfigProvider.setCurrentLanguage('de');
}]);Check out example/simple and example/config for reference.
This filter can be installed via Bower with the following dependency in the bower.json file.
"dependencies": {
    "angular-numeraljs": "^1.0"
}
This project is published in NPM as angular-numeraljs.
"dependencies": {
    "angular-numeraljs": "^1.0"
}
The example/browserify folder has a working example with Browserify and Grunt.  To build this project, install Grunt and Browserify and run the following:
cd example/browserify
npm install
grunt build
Then open example/browserify/dist/index.html in a browser.