[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Help-smalltalk] i18n numeric printing/formating
From: |
Holger Freyther |
Subject: |
[Help-smalltalk] i18n numeric printing/formating |
Date: |
Sun, 18 Oct 2015 10:47:02 +0800 |
Dear Mark,
I finally had time to look into the issue and it is mostly about calculating the
groups. E.g. with:
lang := I18N.LcNumeric language: 'en_US'.
lang computeNumberOfGroups: 3 => 2
lang computeNumberOfGroups: 7 => 2
it explains why "123" ends up as ",123" and why "1234567" ends up with
"123,456,.0"
According to the OSX manpage for grouping:
The sizes of the groups of digits, except for currency values.
This is a pointer to a vector of integers, each of size char, rep-
resenting group size from low order digit groups to high order
(right to left). The list may be terminated with 0 or CHAR_MAX.
If the list is terminated with 0, the last group size before the 0
is repeated to account for all the digits. If the list is termi-
nated with CHAR_MAX, no more grouping is performed.
For en_US the grouping is #[3 3] and it looks like the matching
code has issues with exact matches.
holger
- [Help-smalltalk] i18n numeric printing/formating,
Holger Freyther <=