--- a/Number.st Thu Jul 24 11:58:24 2008 +0200
+++ b/Number.st Thu Jul 24 12:07:15 2008 +0200
@@ -1189,19 +1189,38 @@
self > 999 ifTrue:[
(self // 1000) printOn:aStream thousandsSeparator:thousandsSeparator.
thousandsSeparator printOn:aStream.
- (self truncated \\ 1000) printOn:aStream leftPaddedTo:3 with:$0.
+ (self \\ 1000) printOn:aStream leftPaddedTo:3 with:$0.
^ self.
].
self printOn:aStream.
"
- 1000000 printOn:Transcript thousandsSeparator:$'
- 12345678 printOn:Transcript thousandsSeparator:$'
- 1234567 printOn:Transcript thousandsSeparator:$'
- 123456 printOn:Transcript thousandsSeparator:$'
- 12345 printOn:Transcript thousandsSeparator:$'
- 1234 printOn:Transcript thousandsSeparator:$'
- 123 printOn:Transcript thousandsSeparator:$'
+ swiss style:
+ 1000000 printOn:Transcript thousandsSeparator:$'. Transcript cr.
+ 12345678 printOn:Transcript thousandsSeparator:$'. Transcript cr.
+ 1234567 printOn:Transcript thousandsSeparator:$'. Transcript cr.
+ 123456 printOn:Transcript thousandsSeparator:$'. Transcript cr.
+ 12345 printOn:Transcript thousandsSeparator:$'. Transcript cr.
+ 1234 printOn:Transcript thousandsSeparator:$'. Transcript cr.
+ 123 printOn:Transcript thousandsSeparator:$'. Transcript cr.
+
+ us style:
+ 1000000 printOn:Transcript thousandsSeparator:$,. Transcript cr.
+ 12345678 printOn:Transcript thousandsSeparator:$,. Transcript cr.
+ 1234567 printOn:Transcript thousandsSeparator:$,. Transcript cr.
+ 123456 printOn:Transcript thousandsSeparator:$,. Transcript cr.
+ 12345 printOn:Transcript thousandsSeparator:$,. Transcript cr.
+ 1234 printOn:Transcript thousandsSeparator:$,. Transcript cr.
+ 123 printOn:Transcript thousandsSeparator:$,. Transcript cr.
+
+ german (european ?) style
+ 1000000 printOn:Transcript thousandsSeparator:$.. Transcript cr.
+ 12345678 printOn:Transcript thousandsSeparator:$.. Transcript cr.
+ 1234567 printOn:Transcript thousandsSeparator:$.. Transcript cr.
+ 123456 printOn:Transcript thousandsSeparator:$.. Transcript cr.
+ 12345 printOn:Transcript thousandsSeparator:$.. Transcript cr.
+ 1234 printOn:Transcript thousandsSeparator:$.. Transcript cr.
+ 123 printOn:Transcript thousandsSeparator:$.. Transcript cr.
"
!
@@ -1210,10 +1229,10 @@
!
printStringWithThousandsSeparator
- "print the receiver as business number with thousands separator to aStream.
+ "print the receiver as swiss business number with thousands separator to aStream.
Caveat: Should use the separator from the locale here"
- ^ String streamContents:[:s| self printOn:s thousandsSeparator:$'].
+ ^ self printStringWithThousandsSeparator:$'.
"
1000000 printStringWithThousandsSeparator
@@ -1223,6 +1242,52 @@
12345 printStringWithThousandsSeparator
1234 printStringWithThousandsSeparator
123 printStringWithThousandsSeparator
+
+ 1000000 asFixedPoint printStringWithThousandsSeparator
+ 12345678 asFixedPoint printStringWithThousandsSeparator
+ 1234567 asFixedPoint printStringWithThousandsSeparator
+ 123456 asFixedPoint printStringWithThousandsSeparator
+ 12345 asFixedPoint printStringWithThousandsSeparator
+ 1234 asFixedPoint printStringWithThousandsSeparator
+ 123 asFixedPoint printStringWithThousandsSeparator
+ "
+!
+
+printStringWithThousandsSeparator:thousandsSeparator
+ "print the receiver as business number with a thousands separator to aStream.
+ Notice:
+ americans use comma
+ germans (europeans ?) use a dot
+ swiss people (business people ?) use a single quote
+
+ Caveat: Should use the separator from the locale here"
+
+ ^ String streamContents:[:s | self printOn:s thousandsSeparator:thousandsSeparator].
+
+ "
+ Transcript showCR:(1000000 printStringWithThousandsSeparator:$').
+ Transcript showCR:(12345678 printStringWithThousandsSeparator:$').
+ Transcript showCR:(1234567 printStringWithThousandsSeparator:$').
+ Transcript showCR:(123456 printStringWithThousandsSeparator:$').
+ Transcript showCR:(12345 printStringWithThousandsSeparator:$').
+ Transcript showCR:(1234 printStringWithThousandsSeparator:$').
+ Transcript showCR:(123 printStringWithThousandsSeparator:$').
+
+ Transcript showCR:(1000000 printStringWithThousandsSeparator:$,).
+ Transcript showCR:(12345678 printStringWithThousandsSeparator:$,).
+ Transcript showCR:(1234567 printStringWithThousandsSeparator:$,).
+ Transcript showCR:(123456 printStringWithThousandsSeparator:$,).
+ Transcript showCR:(12345 printStringWithThousandsSeparator:$,).
+ Transcript showCR:(1234 printStringWithThousandsSeparator:$,).
+ Transcript showCR:(123 printStringWithThousandsSeparator:$,).
+
+ Transcript showCR:((1000000 asFixedPoint:2) printStringWithThousandsSeparator:$,).
+ Transcript showCR:((12345678 asFixedPoint:2) printStringWithThousandsSeparator:$,).
+ Transcript showCR:((1234567 asFixedPoint:2) printStringWithThousandsSeparator:$,).
+ Transcript showCR:((123456 asFixedPoint:2) printStringWithThousandsSeparator:$,).
+ Transcript showCR:((12345 asFixedPoint:2) printStringWithThousandsSeparator:$,).
+ Transcript showCR:((1234 asFixedPoint:2) printStringWithThousandsSeparator:$,).
+ Transcript showCR:((123 asFixedPoint:2) printStringWithThousandsSeparator:$,).
"
!
@@ -2050,5 +2115,5 @@
!Number class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/Number.st,v 1.113 2008-07-24 09:58:24 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/Number.st,v 1.114 2008-07-24 10:07:15 cg Exp $'
! !