The code bellow demonstrates a numeric conversion bug in Dolphin 4.1.3.
Actually the bug may be the string representation code of the number rather than the string to number conversion code. This code works in 4.1.2. ('3.0e-2' asNumber) printString asNumber The problem is that the printString returns '3.e-002', but it needs the $0 after the $. to convert back to the number so it returns 3. Chris |
Chris
You wrote in message news:9mjeu7$2eu8p$[hidden email]... > The code bellow demonstrates a numeric conversion bug in Dolphin 4.1.3. > Actually the bug may be the string representation code of the number rather > than the string to number conversion code. This code works in 4.1.2. > > ('3.0e-2' asNumber) printString asNumber > > The problem is that the printString returns '3.e-002', but it needs the $0 > after the $. to convert back to the number so it returns 3. Thanks for your bug report. It is in fact, as you suspected, due to an error in the printing rather than the number parsing logic. It worked in 4.1.2 because the number parsing logic in that was "too lenient". Ironically this and a number of previously fixed bugs with printing floating point numbers have been caused by the decision to use the C runtime library to format them (the idea being to avoid re-inventing the wheel - we don't believe in doing everything in Smalltalk just for the sake of it). Anyway I've had enough now and I'm going to implement it in Smalltalk for a future release, but in the meantime I've attached a temporary patch. Regards Blair begin 666 349.st M(B,S-#DB(0T*#0HA1FQO870@;65T:&]D<T9O<B$-"@T*<')I;G1/;CH@85-T M<F5A;2!S:6=N:69I8V%N=$9I9W5R97,Z(&%N26YT96=E<@T*"2)!<'!E;F0@ M=&AE('!R:6YT960@<F5P<F5S96YT871I;VX@;V8@=&AE(')E8V5I=F5R('1O M(&%3=')E86T@=VET: T*"6%N26YT96=E<B!S:6=N:69I8V%N="!F:6=U<F5S M+B!%;G-U<F4@=&AA="!T:&5R92!I<R!A;'=A>7,@82!D:6=I= T*"69O;&QO M=VEN9R!T:&4@9&5C:6UA;"!P;VEN="X-"@E);7!L96UE;G1A=&EO;B!.;W1E M.B!-86ME('5S92!O9B!T:&4@0U)4('1O(&%V;VED(')E:6YV96YT:6YG('1H M90T*"7=H965L+B C<')I;G1/;CID96-I;6%L4&QA8V5S.B!M87D@8F4@;6]R M92!C;VYV96YI96YT('=H96X@<')I;G1I;F<-"@ER97!O<G1S+"!F;W)M871T M:6YG(&]U='!U="!F:65L9',L(&5T8RP@87,@:70@9&]E<R!N;W0@9')O<"!I M;G1O#0H)97AP;VYE;G1I86P@9F]R;6%T+B(-"@T*"7P@8G5F('!T4&]S('-I M>F4@? T*"6)U9B Z/2!3=')I;F<@;F5W.B H86Y);G1E9V5R(&)I=%-H:69T M.B Q*2LQ,"X-"@EB=68@.CT@0U)43&EB<F%R>2!D969A=6QT(%]G8W9T.B!S M96QF(&-O=6YT.B!A;DEN=&5G97(@8G5F9F5R.B!B=68N#0H-"@DB16YS=7)E M(&1E8VEM86P@<V5P87)A=&]R(&ES(&%L=V%Y<R!A("0N(&9O<B!P<FEN=$]N M.BP@=VAI8V@@;W5T<'5T<R!3;6%L;'1A;&L@<F5A;"!S>6YT87@B#0H)<'10 M;W,@.CT@8G5F(&EN9&5X3V93=6)#;VQL96-T:6]N.B!#4E1,:6)R87)Y(&1E M9F%U;'0@9&5C:6UA;%-E<&%R871O<BX-"@EP=%!O<R ]/2 P( T*"0EI9E1R M=64Z(%MA4W1R96%M(&YE>'10=71!;&PZ(&)U9CL@;F5X=%!U=$%L;#H@)RXP M)UT-"@D):69&86QS93H@6PT*"0D)85-T<F5A;2 -"@D)"0EN97AT.B!P=%!O M<RTQ('!U=$%L;#H@8G5F('-T87)T:6YG070Z(#$[#0H)"0D);F5X=%!U=#H@ M)"XN#0H)"0ES:7IE(#H](&)U9B!S:7IE+@T*"0D)<'10;W,@/2!S:7IE#0H) M"0D):694<G5E.B!;"2)3;6%L;'1A;&L@<F5Q=6ER97,@82!T<F%I;&EN9R!Z M97)O('1O(&9O;&QO=R!D96-I;6%L('!O:6YT<R(-"@D)"0D)85-T<F5A;2!N M97AT4'5T.B D,%T-"@D)"0EI9D9A;'-E.B!;#0H)"0D)"2AB=68@870Z('!T M4&]S("L@,2D@/3T@)&4-"@D)"0D)"6EF5')U93H@6V%3=')E86T@;F5X=%!U M=#H@)#!=+@T*"0D)"0EA4W1R96%M(&YE>'0Z(&)U9B!S:7IE("T@<'10;W,@ M<'5T06QL.B!B=68@<W1A<G1I;F=!=#H@<'10;W,K,5U=#0HA("$-"B%&;&]A M="!C871E9V]R:65S1F]R.B C<')I;G1/;CIS:6=N:69I8V%N=$9I9W5R97,Z 7(7!R:6YT:6YG(7!U8FQI8R$@(0T*#0H` ` end |
Free forum by Nabble | Edit this page |