i18n NumberFormat and skeleton (in addition to pattern parameter)
2011/5/20 Nebojša Ćirić <cira at google.com>:
Current proposal for NumberFormat specifies style (percent, currency, decimal...) or a pattern to use to create a formatter. We could add support for skeleton parameter (like date time formatter has) to help developers get patterns they want but without worry about locale specific issues. For example: Skeleton (I'll use $ for currency part): $0,00.000### says - minimum 3 integer digits, use grouping separator (because of ,), minumum 3 decimal digits, maximum 6 decimal digits. Possible patterns: en: #,000.000### $ in: $ #,##,#000.000###
Does the "$" in "$ #,##,#000.000###" get replaced with a currency symbol from a separate locale->currency symbol table or should this
read "₨ #,##,#000.000###"?
Can a currency symbol come from something associated with the value being formatted, e.g. { quantity: 1234, currencyType: "₨" }.
On Mon, May 23, 2011 at 2:50 PM, Nebojša Ćirić <cira at google.com> wrote:
I should have used ¤ (\u00A4) instead of $.
So ¤ gets replaced with proper currency symbol/code.
Actually, I assume it just marks the format as a currency format, and the currency symbol gets positioned according to the locale/currency rules, right?
As Mike mentioned, there definitely needs to be a way to pass the currency code of the number being formatted into the formatter.
Current proposal for NumberFormat specifies style (percent, currency, decimal...) or a pattern to use to create a formatter.
We could add support for skeleton parameter (like date time formatter has) to help developers get patterns they want but without worry about locale specific issues. For example:
Skeleton (I'll use $ for currency part): $0,00.000###
says - minimum 3 integer digits, use grouping separator (because of ,), minumum 3 decimal digits, maximum 6 decimal digits.
Possible patterns:
en: #,000.000### $ in: $ #,##,#000.000###
We could also support ; (separator for +/- parts of pattern) in the skeleton. In that case we would find patterns for both parts and then join them.
Number formatting was one item we didn't finish last time, so I expect more discussion on Monday.