Comparing version 0.0.1 to 0.0.2
/* | ||
Simplest possible solution to turn numbers into nicely comma seperated amounts: | ||
1234.5 => 1,234.5 | ||
1234 => 1,234 | ||
*/ | ||
function commaIt(number) { | ||
if (typeof number !== "string") return number; | ||
function commaIt(number, addPrecision) { | ||
addPrecision = (addPrecision || false); | ||
number = number.toString(); | ||
if (number.length === 0) return "0.00"; | ||
var amount = number.split('.')[0]; | ||
var floats = ((number.split('.')[1] || '') +'00').substr(0,2); | ||
var floats = addPrecision ? ('.' + ((number.split('.')[1] || '') +'00').substr(0,2)) : ""; | ||
var numberified = amount.split('').reverse().join('') | ||
.replace(/(\d{3}(?!$))/g, '$1,') | ||
.split('').reverse().join(''); | ||
return numberified + '.' + floats; | ||
return numberified + floats; | ||
} | ||
exports.commaIt = commaIt; |
{ | ||
"name": "comma-it", | ||
"version": "0.0.1", | ||
"version": "0.0.2", | ||
"description": "Node.js module convert numbers to amounts", | ||
@@ -5,0 +5,0 @@ "main": "comma-it.js", |
@@ -5,5 +5,6 @@ var commaIt = require("../comma-it").commaIt; | ||
//## Without precision | ||
//Check simplest formatting | ||
var number = "1234"; | ||
assert.equal(commaIt(number), "1,234.00"); | ||
assert.equal(commaIt(number), "1,234"); | ||
@@ -13,6 +14,20 @@ | ||
var number1 = "1234.1234"; | ||
assert.equal(commaIt(number1), "1,234.12"); | ||
assert.equal(commaIt(number1), "1,234"); | ||
//Check multi commas | ||
var number2 = "12341233.12"; | ||
assert.equal(commaIt(number2), "12,341,233.12"); | ||
assert.equal(commaIt(number2), "12,341,233"); | ||
//### With Precision support | ||
//Check simplest formatting | ||
var number = "1234"; | ||
assert.equal(commaIt(number, true), "1,234.00"); | ||
//Check precision support | ||
var number1 = "1234.1234"; | ||
assert.equal(commaIt(number1, true), "1,234.12"); | ||
//Check multi commas | ||
var number2 = "12341233.12"; | ||
assert.equal(commaIt(number2, true), "12,341,233.12"); |
2077
36