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 mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/help-smalltalk