Skip to content

Instantly share code, notes, and snippets.

@vinaydotblog
Created October 24, 2013 07:18
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save vinaydotblog/7132672 to your computer and use it in GitHub Desktop.
Save vinaydotblog/7132672 to your computer and use it in GitHub Desktop.
Number Format : Formatting a given number into million format upto 2 decimals.
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
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");
});
# 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"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment