SqNumberParser is for Smalltalk syntax, so it must not be localized, but ExtendedNumberParser could eventually be. I would suggest creating a LocalizedNumberParser. Otherwise, I have http://ss3.gemstone.com/ss/NumberPrinter to print decimal float and fractions with some support for variations like alternate fraction separator. Nicolas 2012/12/14 Dario Trussardi <dario.trussardi@tiscali.it>:
Ciao,
i'm working for manage some write - read data ( MANumberDescription / MAScaledDecimalDescription / SIXX interchange data ) about Number and is subclass.
I see some codes into Kernel-Numbers and i found it don't reference the Locale decimalPoint.
The Locale decimalPoint is a method port from Gemstone for compatibility :
decimalPoint " by DTR for compatibility with OODB Locale"
^self current primDecimalSymbol
The other considerations don't change.
Dario
The codes directly define the $. when reference the decimal.
Now if i have setup the Locale decimalPoint to $, the SIXX write data with $.
After if i read this sixx data into another environment ( for example Gemstone ) where i setup Locale decimalPoint to $, the system can't generate right Numbers.
Another problem is relative to the Number
readFrom: stringOrStream "Answer a decimal number as described on stringOrStream. The number may not include a leading radix specification, as in 16rFADE, nor an exponent like 1.0e-3 It might have a scale specification at end or not like 10.3s2 If not, number of digits after decimal point will be used as scale"
^(SqNumberParser on: stringOrStream) next...........
because also the SqNumberParser don't reference the Locale decimalPoint.
In this case if in my application i need to use the $, as decimalPoint ( and i use it in the Seaside TextInput )
follow stringOrStream is based on $, ( for example '123,89' ) as result SqNumberParser can't generate right numbers.
Before begin to do some change i'm interested to know some other think about this problematic
and if someone working around it.
Thanks for any consideration,
Dario