JSFiddle - React, Tailwind, and code Playground
by no1_melman
HTML
<input type="text" id="sign" style="width:20px" />
<input type="text" id="money" />
<button id="calc">Click</button>
<div id="output"></div>
JavaScript
var doSomething = function (value, sign) {
var mones;
if (typeof value != "string") {
mones = new String(value);
} else mones = value;
// check for decimal place
var final = sign;
if (mones.indexOf(".") !== -1) {
var seps = mones.split(".");
var leftRes = leftHandSide(seps[0]);
if (seps[1].length > 0) {
var rightRes = rightHandSide(seps[1]);
final += leftRes + "." + rightRes;
} else final += leftRes;
} else final += leftHandSide(mones);
$('#output').text(final);
};
var leftHandSide = function (value) {
var mones;
if (typeof value != "string") {
mones = new String(value);
} else mones = value;
var res = mones.split("");
var firstPortion = res.splice(0, (mones.length % 3));
var newmones = "";
if (mones.length > 3) {
for (var i = 0; i < res.length; i++) {
if ((i + 1) % 3 == 0 && i != (res.length - 1)) newmones = newmones + res[i] + ",";
else newmones = newmones + res[i];
}
if (firstPortion.length > 0) {
var front = "";
for (var i = 0; i < firstPortion.length; i++)
front += firstPortion[i];
newmones = front + "," + newmones;
}
} else newmones = mones;
return newmones;
}
var rightHandSide = function (value) {
var mones;
if (typeof value != "string") {
mones = new String(value);
} else mones = value;
var final;
if (mones.length > 2) // need to sort out this end, need to round up or down
{
final = mones.substring(0, 2);
} else if (mones.length < 2) // in this case we need to add a 0 to it
{
final = mones + "0";
} else final = mones;
return final;
};
$('#calc').on('click', function () {
var money = $('#money').val();
doSomething(money, $('#sign').val());
});