Here's an interesting one...
(ScaledDecimal
fromBytes: #[0 0 0 0 100 37 136 0 0 0 0 0 0 0 0 12]
precision: 23
scale: 24) displayString '0.064258799999999998427136'
...will fail with #printString (#displayString is our own method).
(ExCLDTIndexOutOfRange) Index out of range.
In ScaledDecimal>>#printOn:showDigits:pad: precision and scale start off as 23 and 24. These are reduced as trailing zeros are trimmed, until p=6 and s=7, and digits=#(6 4 2 5 8 8 ), at which point it sends...
(p - s + 1) to: p do: [ :i ... (digits at: i)].
or (0) to: 6 do: [:i ... (digits at: i)] ... which fails because i - 0
No really a problem with us, because we use #displayString for all cases where the users sees the number. It's just a bit weird when debugging to see 'Could not print receiver'.
This is on version 7.0
Bob Nemec