oneside Geschrieben 12. Oktober 2004 Teilen Geschrieben 12. Oktober 2004 Hallo Leutz, irgendwie stehe ich auf dem Schlauch... Wenn ich folgenden Befehl ausführe: round (2.135,2); dann müsste doch eigentlich 2.14 rauskommen oder? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
ssambdar Geschrieben 12. Oktober 2004 Teilen Geschrieben 12. Oktober 2004 Ja! PS: Ich habe das gerade auf meinem Server ausprobiert und deine Behauptung stimmt. Ich kann in meiner Glaskugel gerade leider nicht erkennen, ob das bei dir anders ist. Wenn dem so sein sollte, dann melde dich noch einmal mit genauer Problembeschreibung. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
oneside Geschrieben 13. Oktober 2004 Autor Teilen Geschrieben 13. Oktober 2004 Also bei mir kommt bei round(2.135,2) nicht 2.14 raus. Irgendwie kommt da 2.13 raus. Woran könnte das liegen? Ich habe bei mir XAMPP für Windows Version 1.4.2 laufen, da ist die PHP Version 4.3.6 dabei. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kills Geschrieben 13. Oktober 2004 Teilen Geschrieben 13. Oktober 2004 Also bei mir kommt bei round(2.135,2) nicht 2.14 raus. Irgendwie kommt da 2.13 raus. Woran könnte das liegen? Ich habe bei mir XAMPP für Windows Version 1.4.2 laufen, da ist die PHP Version 4.3.6 dabei. ich meine das war hier vor kurzem schon ma aufgekommen! ein float 2.135 wird intern als 2.13499999999999999999999999... gespeichert und ein int 2.135 exakt als 2.135 echo round((int)2.135,2); echo round((float)2.135,2); [/PHP] Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
oneside Geschrieben 13. Oktober 2004 Autor Teilen Geschrieben 13. Oktober 2004 Ja bei round((int)2.135,2) kommt 2 raus und bei round((float)2.135,2) kommt 2.13 raus. Das stimmt dann aber trotzdem nicht. Da treten ja dann Rundungsfehler auf. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kills Geschrieben 13. Oktober 2004 Teilen Geschrieben 13. Oktober 2004 Ja bei round((int)2.135,2) kommt 2 raus und bei round((float)2.135,2) kommt 2.13 raus. Das stimmt dann aber trotzdem nicht. Da treten ja dann Rundungsfehler auf. ja sorry war grad ein bissl verpeilt. int sind ja ganz zahlen, die können keine nachkomma stellen haben! verusch ma: echo round((double)2.135,2); echo round((float)2.135,2); [/PHP] Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
oneside Geschrieben 13. Oktober 2004 Autor Teilen Geschrieben 13. Oktober 2004 Da kommt bei beiden Befehlen 2.13 raus. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kills Geschrieben 13. Oktober 2004 Teilen Geschrieben 13. Oktober 2004 Da kommt bei beiden Befehlen 2.13 raus. hm sorry, ich weiss zwar warum das so ist, aber ich kann dir grad nicht sagen wie du dem Problem entgegen kommen kannst,... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
oneside Geschrieben 13. Oktober 2004 Autor Teilen Geschrieben 13. Oktober 2004 Da dürften ja viele ein Problem mit haben wenn Beträge gerundet werden... Ich werd mal die Jungs von Xampp anschreiben, ob die was wissen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
oscha Geschrieben 13. Oktober 2004 Teilen Geschrieben 13. Oktober 2004 Die Gesetze der Mathematik werden auf den Kopf gestellt... Der Weltuntergang ist nahe.... !!!!! :eek: :eek: Wir werden alle sterben!!! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Wolle Geschrieben 13. Oktober 2004 Teilen Geschrieben 13. Oktober 2004 Und was willst du jetzt damit zum Thema sagen *Kopf schüttel* Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Shaun Geschrieben 13. Oktober 2004 Teilen Geschrieben 13. Oktober 2004 Das Problem scheint ein allgemeines PHP-Problem zu sein und wird auch in der Onlinedokumentation behandelt. Als Lösungsansatz könntest du folgende Funktion nutzen: <?php function myRound($number, $fuzz = 0.00000000001){ return sprintf("%.2f", (($number>=0) ? ($number+$fuzz) : ($number-$fuzz))); } ?> Halt anstatt round($bla); einfach myRound($bla);! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kills Geschrieben 13. Oktober 2004 Teilen Geschrieben 13. Oktober 2004 Das Problem scheint ein allgemeines PHP-Problem zu sein und wird auch in der Onlinedokumentation behandelt. Als Lösungsansatz könntest du folgende Funktion nutzen: <?php function myRound($number, $fuzz = 0.00000000001){ return sprintf("%.2f", (($number>=0) ? ($number+$fuzz) : ($number-$fuzz))); } ?> Halt anstatt round($bla); einfach myRound($bla);! gut zu wissen,.... Die Gesetze der Mathematik werden auf den Kopf gestellt... Der Weltuntergang ist nahe.... !!!!! :eek: :eek: Wir werden alle sterben!!! toller Beitrag,.... weiter so.. :confused: Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
oneside Geschrieben 13. Oktober 2004 Autor Teilen Geschrieben 13. Oktober 2004 Also ein Kollege hat die PHP Version 4.3.4 und der sagt, bei dem gehts. Ich habe einmal die Version 5.0.2 und einmal Version 4.3.6 und es geht net. Der Lösungsvorschlag funktioniert! Vielen dank, da wäre ich sonst aufgeschmissen gewesen :-) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
oscha Geschrieben 14. Oktober 2004 Teilen Geschrieben 14. Oktober 2004 toller Beitrag,.... weiter so.. :confused: es ist doch immer wieder schön anzusehen, wie manche leute sich über jedem kleinen bischen aufregen. ich stelle mir das gerade bildlich vor, wenn man über die straße läuft und sich über jeden kaugummi auf dem boden, über jeden freilaufenden köter, über jeden abgasgeruch, jeden sonnenstrahl weils zu hell ist, jede wolke, weils zu dunkel ist, jeden ironisch gemeinten beitrag in einem forum.... aufregt... weiter so! =) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kills Geschrieben 14. Oktober 2004 Teilen Geschrieben 14. Oktober 2004 es ist doch immer wieder schön anzusehen, wie manche leute sich über jedem kleinen bischen aufregen. ich stelle mir das gerade bildlich vor, wenn man über die straße läuft und sich über jeden kaugummi auf dem boden, über jeden freilaufenden köter, über jeden abgasgeruch, jeden sonnenstrahl weils zu hell ist, jede wolke, weils zu dunkel ist, jeden ironisch gemeinten beitrag in einem forum.... aufregt... weiter so! =) wenn du keine produktiven Beiträge Leisten willst, dann mach das im Off-Topic oder im Test-Forum. Sowas gehört hier einfach nicht hin,... :mod: Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
oneside Geschrieben 14. Oktober 2004 Autor Teilen Geschrieben 14. Oktober 2004 es ist doch immer wieder schön anzusehen, wie manche leute sich über jedem kleinen bischen aufregen. ich stelle mir das gerade bildlich vor, wenn man über die straße läuft und sich über jeden kaugummi auf dem boden, über jeden freilaufenden köter, über jeden abgasgeruch, jeden sonnenstrahl weils zu hell ist, jede wolke, weils zu dunkel ist, jeden ironisch gemeinten beitrag in einem forum.... aufregt... weiter so! =) Wo Kills Recht hat hat er Recht, ich erwarte in diesem Post ein Hilfestellung und keine Free-Poster, die irgendwelche Themenfremden Beiträge posten. Dafür gibt es andere Foren. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Wolle Geschrieben 14. Oktober 2004 Teilen Geschrieben 14. Oktober 2004 Jetzt ist gut, kommt bitte wieder zum Thema zurück. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kills Geschrieben 14. Oktober 2004 Teilen Geschrieben 14. Oktober 2004 Jetzt ist gut, kommt bitte wieder zum Thema zurück. Das Thema hat sich bereits erledigt! Lösung: <?php function myRound($number, $fuzz = 0.00000000001){ return sprintf("%.2f", (($number>=0) ? ($number+$fuzz) : ($number-$fuzz))); } ?> Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.