From 8c7e2ecdf7f1dc22a4827fa07b29ff64bf151201 Mon Sep 17 00:00:00 2001 From: Tom Date: Tue, 21 May 2013 10:58:41 -0400 Subject: [PATCH] Add decimal formatter --- lib/lib/format.coffee | 18 +++++++++++------- package.json | 2 +- test/lib/format_spec.coffee | 7 +++++++ 3 files changed, 19 insertions(+), 8 deletions(-) diff --git a/lib/lib/format.coffee b/lib/lib/format.coffee index 553f2b4..903817a 100644 --- a/lib/lib/format.coffee +++ b/lib/lib/format.coffee @@ -40,6 +40,9 @@ zipCode = (value) -> number = (number) -> formatNumber(number, 0) +decimalNumber = (number) -> + formatNumber(number, 2) + formatNumber = (number, places) -> s = if number < 0 then "-" else "" i = parseInt(number = Math.abs(+number || 0).toFixed(places)) + "" @@ -57,10 +60,11 @@ modelNames = (models) -> "#{names[0...names.length-1].join(', ')}, and #{names[names.length-1]}" module.exports = - date: date - dateTime: dateTime - boolean: boolean - money: money - number: number - modelNames: modelNames - zipCode: zipCode + boolean: boolean + date: date + dateTime: dateTime + decimalNumber: decimalNumber + money: money + number: number + modelNames: modelNames + zipCode: zipCode diff --git a/package.json b/package.json index 98a74d4..007357c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "quips", - "version": "0.1.10", + "version": "0.1.11", "dependencies": { "coffee-script": "1.6.x", "jqueryify": "1.9.1", diff --git a/test/lib/format_spec.coffee b/test/lib/format_spec.coffee index 85a427b..fac38fc 100644 --- a/test/lib/format_spec.coffee +++ b/test/lib/format_spec.coffee @@ -38,6 +38,13 @@ describe 'Format library', -> expect(format.number(NaN)).to.equal '0' expect(format.number(0.87)).to.equal '1' + it 'should format decimal numbers', -> + expect(format.decimalNumber(3852.378)).to.equal '3,852.38' + expect(format.decimalNumber(0)).to.equal '0.00' + expect(format.decimalNumber()).to.equal '0.00' + expect(format.decimalNumber(NaN)).to.equal '0.00' + expect(format.decimalNumber(0.873)).to.equal '0.87' + it 'should format a boolean', -> expect(format.boolean(true)).to.equal 'Yes' expect(format.boolean(false)).to.equal 'No'