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);*/