--- a/FixedPoint.st Mon Jul 15 11:24:54 2002 +0200
+++ b/FixedPoint.st Mon Jul 15 11:28:10 2002 +0200
@@ -212,7 +212,7 @@
fractionPart := 0.
scale := 1.
] ifFalse:[
- fractionStream := WriteStream on:(String new: 10).
+ fractionStream := ReadWriteStream on:(String new: 10).
[
char := aStream next.
char ~~ nil and:[char isDigit]
@@ -220,8 +220,9 @@
fractionStream nextPut:char
].
- scale := fractionStream contents size.
- fractionPart := Number readFromString:(fractionStream contents) onError:exceptionBlock.
+ scale := fractionStream positionStartingAt0.
+ fractionStream reset.
+ fractionPart := Number readFrom:fractionStream.
].
^ self basicNew
@@ -233,6 +234,9 @@
FixedPoint readFrom:'-123.456'
FixedPoint readFrom:'123'
FixedPoint readFrom:'-123'
+ FixedPoint readFrom:'-123.abcd' onError:[47.5]
+ FixedPoint readFrom:'-1a.bcd' onError:[47.5]
+ FixedPoint readFrom:'foot' onError:['bad fixedpoint']
"
"Created: / 25.10.1997 / 15:28:59 / cg"
@@ -913,5 +917,5 @@
!FixedPoint class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/FixedPoint.st,v 1.14 2002-06-11 21:41:35 stefan Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/FixedPoint.st,v 1.15 2002-07-15 09:28:10 stefan Exp $'
! !