Thread Perl Bug bei int?
(44 answers)
Opened by Rolf_PlusW at 2013-03-01 11:29
Fehler in biancas Testskript?
An bianca: Auf die Gefahr hin, dass du mich jetzt totschlägst - hier ist schon wieder eine GUIfreund-sub. Diesmal allerdings mit dem feinen Unterschied, dass sie auch als Abschneide-Routine gedacht ist. Code (perl): (dl
)
1 2 3 4 sub GUIfreund { use POSIX qw(floor ceil); return $_[0] > 0 ? floor($_[0]) : ceil($_[0]); } Dein Testskript zeigt nur 1 Abweichung zu deiner Abschneide-Routine, und das ausgerechnet bei einem völlig harmlosen Eingabewert: Code: (dl
)
1 '57'.......................geINTet mit GUIfreund: '56'..... Wie das Schicksal so spielt, ein paar Zeilen später dann das: Code: (dl
)
1 '57'.......................geINTet mit GUIfreund: '57'..... Selbe Eingabe, verschiedenes Ergebnis?? Das veranlasste mich, mir dein Skript genauer anzusehen. Dann habe ich die prints etwas geändert, um den Testwert in der möglichst vollen Genauigkeit zu sehen. Code (perl): (dl
)
1 2 3 4 print "geINTet mit GUIfreund: \'$int\'".substr($space,0,15 - length ($int)); printf "Eingabe %.15f\n", $test; print "geINTet mit Bianca : \'$int\'".substr($space,0,15 - length ($int)); printf "Eingabe %.15f\n", $test; Und siehe da, an der entscheidenden Stelle war der Testwert etwas kleiner: Code: (dl
)
1 geINTet mit GUIfreund: '0'..............Eingabe 0.000000000001819 Gruß
GUIfreund |