

Numeral.js – A JavaScript library for formatting and manipulating numbers - danso
http://numeraljs.com/

======
sheetjs
Looks very cool, although I wish they used more Excel-like number formats
([http://office.microsoft.com/en-us/excel-help/number-
format-c...](http://office.microsoft.com/en-us/excel-help/number-format-codes-
HP005198679.aspx))

Shameless plug: as part of the in-browser XLS parsing, we built a library for
formatting numbers:
[https://github.com/SheetJS/ssf](https://github.com/SheetJS/ssf)

------
gioi
Thanks for sharing! Unfortunately, bytes representations are wrong.

As you may now, there is a difference between kilobytes (KB) and _kibi_ bytes
(KiB), megabytes (MB) and mibibytes (MiB) et cetera. 1 KiB = 1024 bytes =
1.024 KB.

Please check out
[https://en.wikipedia.org/wiki/Binary_prefix](https://en.wikipedia.org/wiki/Binary_prefix)
and fix your library :)

~~~
scotth
That convention is not universally recognized.

~~~
peterashford
...or barely recognised at all?

------
jace
How do I do Indian-style comma formatting with Numeral.js? Like so:
10,00,00,000, with thousands grouped in three digits and everything else in
two digits.

~~~
kaishiro
I in no way mean for this to be disrespectful, but boy that looks confusing to
my Western brain.

~~~
sdrothrock
Japanese numbers used to be delimited with commas every four digits, like so:
1,0000,0000 due to the largest common single-use (i.e., not a combination of a
small number plus a large number as in "hundred thousand") being 10,000 (万,
man).

Nowadays I've only ever seen US-style commas and it's hard to even find a
reference to the four-digit commas online.

------
inglor
Looks like it does a subset of what the native Window.Intl does, a shame so
few developers know about window.Intl...

Still, nice effort! I like it

~~~
johncoltrane
That's probably because most developers care about compatibility.

~~~
Gmo
Surely, you mean, most developers only care about compatibility with Chrome ?

~~~
johncoltrane
You raise an interesting point: if we were the only ones in charge I'd say
that a sizable proportion of us, developers, would target Chrome and only
Chrome. But we unfortunately have to deal with functional specs and project
managers and "clients" (whatever that is) and older browsers that force us to
think in compatibility terms rather than coolness terms.

~~~
Gmo
I work for a company where we still have customers using IE 7, so I know what
you mean.

But no, I don't want to develop only for Chrome, and these days, you see a lot
of that happening on "cool tech", even when there is the equivalent in, at
least, Firefox.

------
bluedevil2k
A jQuery plugin that does formatting in a more jQuery-like manner can be found
here - [https://code.google.com/p/jquery-
numberformatter/](https://code.google.com/p/jquery-numberformatter/)

It aims to mimic how number formatting is done on the server.

~~~
imjoshdean
You know, I was looking at this and thinking "you know, this needs to be more
jQuery-er!"

------
porker
Another similar library:
[http://josscrowcroft.github.io/accounting.js/](http://josscrowcroft.github.io/accounting.js/)

Used on many projects, works well.

------
masklinn
> 10000 '0,0.0000' 10,000.0000

Because you know, why implement UTS #35? It exists and covers dozens of
cultural contexts and that's no fun.

~~~
roryokane
UTS #35 is Unicode Technical Standard #35, Unicode Locale Data Markup Language
(LDML),
[http://www.unicode.org/reports/tr35/](http://www.unicode.org/reports/tr35/).

~~~
masklinn
Yep, more specifically (for this situation) numbers and currencies formatting
(and format patterns)[0] and the related data in the CLDR (the LDML defines
the CLDR's structures, the CLDR itself holds locale data such as the actual
patterns and specific translated terms)

[0]
[http://www.unicode.org/reports/tr35/tr35-numbers.html](http://www.unicode.org/reports/tr35/tr35-numbers.html)

------
elwell
> c.add(10).value();

No, numbers aren't (shouldn't be) treated as objects.

------
rglover
Handy. Thanks!

