UNPKG

mout

Version:

Modular Utilities

28 lines (27 loc) 1.16 kB
"use strict"; exports.__esModule = true; var toNumber_1 = require("../lang/toNumber"); /** * Converts number into currency format */ function currencyFormat(val, nDecimalDigits, decimalSeparator, thousandsSeparator) { val = toNumber_1["default"](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] var 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); } } exports["default"] = currencyFormat;