Sha256: f1cfa69e01683e439eaacca6017f6c6e6f6e998cd141e3760925645e08412151

Contents?: true

Size: 1.08 KB

Versions: 69

Compression:

Stored size: 1.08 KB

Contents

var toNumber = require('../lang/toNumber');

    /**
     * Converts number into currency format
     */
    function currencyFormat(val, nDecimalDigits, decimalSeparator, thousandsSeparator) {
        val = toNumber(val);
        nDecimalDigits = nDecimalDigits == null? 2 : nDecimalDigits;
        decimalSeparator = decimalSeparator == null? '.' : decimalSeparator;
        thousandsSeparator = thousandsSeparator == null? ',' : thousandsSeparator;

        //can't use enforce precision since it returns a number and we are
        //doing a RegExp over the string
        var fixed = val.toFixed(nDecimalDigits),
            //separate begin [$1], middle [$2] and decimal digits [$4]
            parts = new RegExp('^(-?\\d{1,3})((?:\\d{3})+)(\\.(\\d{'+ nDecimalDigits +'}))?$').exec( fixed );

        if(parts){ //val >= 1000 || val <= -1000
            return parts[1] + parts[2].replace(/\d{3}/g, thousandsSeparator + '$&') + (parts[4] ? decimalSeparator + parts[4] : '');
        }else{
            return fixed.replace('.', decimalSeparator);
        }
    }

    module.exports = currencyFormat;


Version data entries

69 entries across 69 versions & 2 rubygems

Version Path
trusty-festivity-extension-2.6.3 node_modules/bower/node_modules/mout/number/currencyFormat.js
trusty-festivity-extension-2.6.2 node_modules/bower/node_modules/mout/number/currencyFormat.js
trusty-festivity-extension-2.6.1 node_modules/bower/node_modules/mout/number/currencyFormat.js
trusty-festivity-extension-2.6 node_modules/bower/node_modules/mout/number/currencyFormat.js
trusty-festivity-extension-2.5.19 node_modules/bower/node_modules/mout/number/currencyFormat.js
trusty-festivity-extension-2.5.18 node_modules/bower/node_modules/mout/number/currencyFormat.js
trusty-festivity-extension-2.5.17 node_modules/bower/node_modules/mout/number/currencyFormat.js
trusty-festivity-extension-2.5.16 node_modules/bower/node_modules/mout/number/currencyFormat.js
trusty-festivity-extension-2.5.15 node_modules/bower/node_modules/mout/number/currencyFormat.js
trusty-festivity-extension-2.5.14 node_modules/bower/node_modules/mout/number/currencyFormat.js
trusty-festivity-extension-2.5.13 node_modules/bower/node_modules/mout/number/currencyFormat.js
trusty-festivity-extension-2.5.12 node_modules/bower/node_modules/mout/number/currencyFormat.js
trusty-festivity-extension-2.5.11 node_modules/bower/node_modules/mout/number/currencyFormat.js
trusty-festivity-extension-2.5.10 node_modules/bower/node_modules/mout/number/currencyFormat.js
trusty-festivity-extension-2.5.9 node_modules/bower/node_modules/mout/number/currencyFormat.js
trusty-festivity-extension-2.5.8 node_modules/bower/node_modules/mout/number/currencyFormat.js
trusty-festivity-extension-2.5.7 node_modules/bower/node_modules/mout/number/currencyFormat.js
trusty-festivity-extension-2.5.6 node_modules/bower/node_modules/mout/number/currencyFormat.js
trusty-festivity-extension-2.5.5 node_modules/bower/node_modules/mout/number/currencyFormat.js
trusty-festivity-extension-2.5.4 node_modules/bower/node_modules/mout/number/currencyFormat.js