Thread Rechenfehler mit Perl ausgleichen (71 answers)
Opened by bianca at 2013-04-27 13:42

tonewheel
 2013-04-27 19:53
#167309 #167309
User since
2006-10-01
182 articles
BenutzerIn
[default_avatar]
2013-04-27T16:50:49 bianca
Und wie wir man dem Herr?

?

2013-04-27T16:50:49 bianca
Steht da auch drin, wie man dem Computer das Rechnen beibringt? :)

Nein, das kann der schon von sich aus, da sich Firmen wie Intel, AMD, usw. darüber bereits Gedanken machten. :-)

2013-04-27T16:50:49 bianca
Also findet man darin eine Lösung, wie man beliebige ganzzahlige Werte in beliebiger Menge addiert und am Ende noch 100000 == 100000 ist?

Es ist ein Lehrbuch, kein Lösunsgsbuch. Wollte damit nur sagen, dass sich wirklich so manch interessante 'Kleinigkeit' findet. Jedoch, einen Hinweis auf Dein Problem gibt es, nämlich dass Du z.B. Zeile 8 so schreiben solltest:

Code (perl): (dl )
my $test = sprintf("%d", $a - $b);


Dann kommt zumindest das heraus, was Du (in dem Fall) erwartest. Das ist natürlich nichts Neues, führt jedoch zu der Frage (die auch schon gestellt wurde), was Deine Anwendung bezweckt. Denn interne Werte, und das was man anschließend ausgibt, ist ja ein Unterschied. Wenn Du mit dem Wert weiterrechnen willst, macht es keinen Unterschied. Wenn Du ihn ausgeben willst, fragt sich doch, auf wie viele Stellen hinterm Komma das geschehen soll. Wenn z.B. nur um Euro-Werte geht, reicht doch sowas wie oben:

Code (perl): (dl )
my $money = sprintf("%.2f", 2.49997);


Also hängt das alles doch weniger von Perl, als vielmehr von Deiner Anwendung ab.

View full thread Rechenfehler mit Perl ausgleichen