Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
kaufmännisches Runden [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
kaufmännisches Runden


 
Winner
04-04-2003, 16:00 
 
Gibt es denn in Php keine Funktion, die kaufmännisch rundet?

in meinem Skript multipliziere ich den Preis mit dem Rabatt und will dann einen Wert, wie z.B. 3.555 auf 3.56 runden, aber bei round(3.555,2) kommt 3.55 raus!!! Naja geht na immer nur um einen Cent, aber trotzdem.

 
Kleinbreuer
04-04-2003, 16:03 
 
Also round sollte normalerweise so runden....von 0 bis 4 ab, und ab 5 auf.....

Wenn du immer aufrunden willst, mach das mit ceil, immer abrunden soviel ich weiß mit floor......

 
mrhappiness
04-04-2003, 16:03 
 
probier malecho number_format(3.555, 2);

 
goth
04-04-2003, 16:04 
 
round() ist die korrekte Funktion ... und bei mir kommt auch sauber 3.56 heraus ... !

Welche PHP-Version??

 
Winner
04-04-2003, 16:11 
 
PHP Version 4.0.6

Vielleicht ist ja was an meiner Rechnung flasch:


echo number_format( $got['GK_PREIS'] * ( 1 - ($HTTP_SESSION_VARS['rabatt'] / 100)),2);

also:

echo number_format( 5.25 * 62 / 100, 2)

 
mrhappiness
04-04-2003, 16:13 
 
und wo steht da was von round?

mach mal ein echo ($got['GK_PREIS'] * ( 1 - ($HTTP_SESSION_VARS['rabatt'] / 100)));

 
Winner
04-04-2003, 16:15 
 
kommt 3.255 raus, das will ich eben auf 3.26 runden, aber selbst bei round(3.255,2) bekomm ich 3.25 raus

 
gastgast
04-04-2003, 16:21 
 
dann lass es runden und zähle einfach 1 cent dazu.

 
goth
04-04-2003, 16:22 
 
Dann solltest Du Deinen Rechner mal neu installieren ... round() schleift schlichtweg die round()-Funktion Deiner C-Library durch ... <ironic>und ich halte es für sehr wahrscheinlich das die einen Bug hat</ironic>

 
Winner
04-04-2003, 16:23 
 
:D Ja das wär ne Möglikeit, wenn mein Skript immer ein Cent zuwenig berechnen würde, aber manchmal kommt halt auch 3.451 => 4.45 raus und das stimmt dann wieder

 
Winner
04-04-2003, 16:25 
 
du bist lustig ich fahr einfach mal den Webserver für ~50 Firmen runter, weil mein Skript nicht richtig rundet, ich installier grad die neuste Version von PHP, mal sehen, ob es dann funktioniert

 
wahsaga
04-04-2003, 16:41 
 
dann addiere doch 0,5 drauf und benutze dann floor()
evtl. noch durch vorherige multiplikation und anschliessende division durch zehner-potenzen für die gewünschten nachkommastellen sorgen...

;-)

 
Winner
04-04-2003, 16:43 
 
nicht die Optimallösung, aber so funktionierts, danke


Alle Zeitangaben in WEZ +2. Es ist jetzt 16:17 Uhr.