[php] Afronden met Ceil()

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik wil een getal afronden met Ceil.

Ik haal de prijs van een artikel op uit een database, en deze vermenigvuldig ik met een winstpercentage. Hieruit komt een getal met een willekeurig aantal Decimalen.

Nu heb ik al heel wat gezocht, en het antwoord denk ook wel gevonden op de volgende vraag, maar het zit in mijn hoofd een beetje vast.

Al;s ik het getal af wil ronden op 5 euro centen naar boven. Hoe pak ik dit aan?

Acties:
  • 0 Henk 'm!

  • Zoefff
  • Registratie: September 2001
  • Laatst online: 12:37

Zoefff

❤ 

www.php.net/round
www.php.net/ceil
www.php.net/floor

:?

Edit:

Sorry, ik denk dat ik je niet meteen goed begreep. Je kan dit stukje code gebruiken voor je probleem:

PHP:
1
2
3
$bedrag = "1.35";
$afgerond = round($bedrag/0.5)*0.5;
echo $afgerond;     // Geeft 1,5

[ Voor 66% gewijzigd door Zoefff op 22-12-2004 08:13 ]


FotoblogWerkaandemuur.nlMoestuincursus.nlTwitter


Acties:
  • 0 Henk 'm!

  • justmental
  • Registratie: April 2000
  • Niet online

justmental

my heart, the beat

Wellicht kun je iets doen als vermenigvuldigen met 20, naar boven afronden en weer delen door 20.

Who is John Galt?


Acties:
  • 0 Henk 'm!

  • tato
  • Registratie: Juni 2003
  • Laatst online: 15-09 18:26
Dan kan je best ceil(); laten vallen want dat rond namelijk af op een natuurlijk getal. Round(); daarentegen kan wel mooi afronden op decimalen. Je gebruikt het als volgt:

code:
1
2
3
4
5
6
<?php
$percentage = 12;
$prijs = 132;

echo round($percentage*$prijs,  2);
?>


Hopelijk helpt dit je wat verder...

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Sorry vergat te vermelden dat het op 5 centen naar BOVEN afgerond moet worden. Vandaar Ceil..

Acties:
  • 0 Henk 'm!

  • Zoefff
  • Registratie: September 2001
  • Laatst online: 12:37

Zoefff

❤ 

Verwijderd schreef op woensdag 22 december 2004 @ 08:12:
Sorry vergat te vermelden dat het op 5 centen naar BOVEN afgerond moet worden. Vandaar Ceil..
Dan wordt het dus
PHP:
1
2
3
$bedrag = "1.7";
$afgerond = ceil($bedrag/0.5)*0.5;
echo $afgerond;     // Geeft 2

:)


FotoblogWerkaandemuur.nlMoestuincursus.nlTwitter


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
PHP:
1
2
3
4
5
<?
$price1 = "1,12"
$price1 = ceil($price1/0.5)*0.5; 
echo $price1  //geeft 1 :)
?>


Dit moet 1.15 zijn..

Of doe ik iets verkeerd?

En 1.7 is goed...
Dat hoeft dus niet afgerond. 1.70 kan, op 5 centen afgerond. Dit rond af op hele gatallen.

[ Voor 53% gewijzigd door Verwijderd op 22-12-2004 08:35 ]


Acties:
  • 0 Henk 'm!

  • pjotrk
  • Registratie: Mei 2004
  • Laatst online: 15-07 18:43
PHP:
1
2
3
4
5
6
7
8
9
10
<?
//afronden op
$afronding = 0.05;

$bedrag = 0.23;
$bedrag = ceil($bedrag/$afronding) * $afronding;

// geeft 0.25
echo $bedrag;
?>


vermenigvuldigen met 20 en delen door 20 moet inderdaad werken, zoals justmental ook aangaf :)

Acties:
  • 0 Henk 'm!

  • Zoefff
  • Registratie: September 2001
  • Laatst online: 12:37

Zoefff

❤ 

Verwijderd schreef op woensdag 22 december 2004 @ 08:32:
PHP:
1
2
3
4
5
<?
$price1 = "1,12"
$price1 = ceil($price1/0.5)*0.5; 
echo $price1  //geeft 1 :)
?>


Dit moet 1.15 zijn..

Of doe ik iets verkeerd?

En 1.7 is goed...
Dat hoeft dus niet afgerond. 1.70 kan, op 5 centen afgerond. Dit rond af op hele gatallen.
Euhm, het is nog vroeg, ik maakte even een denkfoutje :P
PHP:
1
2
3
$bedrag = "1.71";
$afgerond = ceil($bedrag/0.05)*0.05;
echo $afgerond;     // Geeft 1,75

Nulletje erbij moet wel het juiste resultaat geven :)


FotoblogWerkaandemuur.nlMoestuincursus.nlTwitter


Acties:
  • 0 Henk 'm!

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Verwijderd schreef op woensdag 22 december 2004 @ 08:12:
Sorry vergat te vermelden dat het op 5 centen naar BOVEN afgerond moet worden. Vandaar Ceil..
Hoezo moet het naar boven afgerond worden? De regel in de winkels is toch dat het het gewoon afgerond wordt naar 5 cent en niet altijd naar boven?

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
:) dit is ook geen winkel.... Het is een manier om de verkoopprijs van het product te bepalen.

Door middel van opslagpercentages wordt de verkoopprijs berekend. En die wordt dan in de shop geladen..
Pagina: 1