function formatDollar(num) {
var p = num.toFixed(2).split(".");
return ["$", p[0].split("").reverse().reduce(function(acc, num, i) {
return num + (i && !(i % 3) ? "," : "") + acc;
}, "."), p[1]].join("");
}
const tests = [
{
input: 45664544.23423,
expected: "$45,664,544.23"
},
{
input: 45,
expected: "$45.00"
},
{
input: 123,
expected: "$123.00"
},
{
input: 7824,
expected: "$7,824.00"
},
{
input: 1,
expected: "$1.00"
},
{
input: -939009,
expected: "-$939,009.00"
}
]
tests.forEach(test => {
const { input, expected } = test
const actual = formatDollar(input)
if (expected !== actual) {
console.log(`Failed: ${input}. Expected ${expected}; actual: ${actual}`)
} else {
console.log(`Passed: ${input}`)
}
})