Number Format : Formatting a given number into million format upto 2 decimals.
# All Passed
test "Number Format", ->
equal format("4"), "4.00"
equal format("234242"), "234,242.00"
equal format("3455.45"), "3,455.45"
equal format(4), "4.00"
equal format(234242), "234,242.00"
equal format(3455.45), "3,455.45" number_format = function(num) {
var dot, first, last, middle, rem;
dot = (num = num + "").indexOf(".");
if (dot === -1) {
dot = num.length;
num = num + ".00";
}
last = num.substr(dot).substr(0, 3);
first = num.substr(0, dot);
rem = first.length % 3;
middle = first.substr(rem);
first = first.substr(0, rem);
middle = middle.replace(/(\d{3})/g, ",$1");
if (rem) {
return first + middle + last;
}
return middle.substr(1) + last;
};
test("Number Format", function() {
equal(format("4"), "4.00");
equal(format("234242"), "234,242.00");
equal(format("3455.45"), "3,455.45");
equal(format(4), "4.00", "Should be equal");
equal(format(234242), "234,242.00");
return equal(format(3455.45), "3,455.45");
});number_format = (num) ->
dot = (num = num + "").indexOf(".")
if dot is -1
dot = num.length
num = num + ".00"
last = num.substr(dot).substr(0,3)
first = num.substr(0, dot)
rem = first.length % 3
middle = first.substr(rem)
first = first.substr(0, rem)
middle = middle.replace(/(\d{3})/g, ",$1")
return first + middle + last if rem
middle.substr(1) + last