JSFiddle - React, Tailwind, and code Playground
by smacky311
HTML
<div id="result" />
JavaScript
Number.prototype.formatMoney = function(){
var comma = ",";
var period = ".";
var lengthBetweenCommasInAmerica = 3;
var self = this;
var negativeSign = self < 0 ? "-" : "";
var tryConvertToNumber = +self;
var finalNumber;
if(tryConvertToNumber){
finalNumber = tryConvertToNumber;
}
else{
finalNumber = 0;
}
var formattedNumber = Math.abs(finalNumber).toFixed(2)
var formattedNumberAsString = parseInt(formattedNumber) + "";
var commaCount =
formattedNumberAsString.length > lengthBetweenCommasInAmerica ? formattedNumberAsString.length %3 : 0;
console.log('commaCount: ' + commaCount);
console.log('formula1: ' + formattedNumberAsString.substr(0, commaCount));
var stringBuilder = negativeSign + (commaCount ? formattedNumberAsString.substr(0, commaCount) + "," : "");
stringBuilder += formattedNumberAsString.substr(commaCount).replace(/(\d{3})(?=\d)/g, "$1" + comma);
console.log('self: ' + self);
console.log('formattedNumberAsString: ' + formattedNumberAsString);
stringBuilder += period + Math.abs(self - formattedNumberAsString).toFixed(2).slice(2);
return stringBuilder;
};
//var formattedValue = (123456789.12345).formatMoney();
var formattedValue = (1234.12345).formatMoney();
document.getElementById("result").innerHTML = formattedValue;
/*var numba = null;
console.log(2 || 3);*/