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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.