i18n numeric printing/formating
Holger Freyther <[email protected]>
| Newsgroups | gmane.comp.lang.smalltalk.gnu.general |
|---|---|
| Message-ID | <[email protected]> |
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