Skip to content

Instantly share code, notes, and snippets.

@Sebfh
Last active September 26, 2018 20:14
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Sebfh/4585872 to your computer and use it in GitHub Desktop.
Save Sebfh/4585872 to your computer and use it in GitHub Desktop.
javascript number to currency á la rails
function number_to_currency(number, options) {
try {
var options = options || {};
var precision = options["precision"] || 2;
var unit = options["unit"] || "\u20AC";
var separator = precision > 0 ? options["separator"] || "." : "";
var delimiter = options["delimiter"] || ",";
var parts = parseFloat(number).toFixed(precision).split('.');
return unit + number_with_delimiter(parts[0], delimiter) + separator + parts[1].toString();
} catch(e) {
return number;
}
}
function number_with_delimiter(number, delimiter, separator) {
try {
var delimiter = delimiter || ",";
var separator = separator || ".";
var parts = number.toString().split('.');
parts[0] = parts[0].replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1" + delimiter);
return parts.join(separator);
} catch(e) {
return number
}
}
// number_to_currency(10000.000, { precision: '2', unit: '\u20AC' , delimiter: '.', separator: ',' });
// €10.000,00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment