![]() Mailinglisten-Archive |
Gemander, Ronny wrote: > Hallo, > > Ich habe ein kleines Problem mit einer Testaufgabe auf > http://www.php-kurs.com/berechnungen-in-php.htm > > Berechnen Sie die Annuität (ganz unten) > > Mein Ansatz: > ##################### > $kreditsumme = 200000; > $zinssatz = 0.04; > $zins = 1+$zinssatz; > $laufzeit = 10; > $scale = 25; > > $left = bcpow(strval($zins), strval($laufzeit), $scale); > $right = bcsub(bcpow(strval($zins), strval($laufzeit), $scale),'1', $scale); > if($right > 0){ > $l = bcmul(strval($kreditsumme),strval($zinssatz),$scale); > $r = bcdiv(strval($left), strval($right), $scale); > $ergebnis = bcmul(strval($l),strval($r),$scale); > } > else die("Division durch 0"); > $zinssatz_math = $zinssatz + 1.00; > $potenz_laufzeit = bcpow(strval($zins), strval($laufzeit), $scale); > $endergebnis = round($ergebnis, 3); > > echo "$endergebnis"; > ##################### > Nur bekomm ich beim Ergebnis 24.658,189 raus, der Autor meint allerdings > 24.658,337. > > Hat sich auf der Seite ein Fehler eingeschlichen oder ist mein > Lösungsweg falsch? > > Danke für eure Hilfe. > > Ronny > Also ich sehe in deiner Berechnung keinen Fehler und ich bekomme das gleiche Ergebnis wie du heraus. Der Unterschied kommt daher, dass du mit einer Skala von 25 Stellen arbeitest und der Autor anscheinend nur mit 5. Denn bei einer Scale von 5 kommt genau dieses Ergebnis heraus: float(24658.337497918) Grüße, Felix
php::bar PHP Wiki - Listenarchive