prijs uitrekenen
Behemutant - 21/02/2008 15:25 (laatste wijziging 21/02/2008 15:31)
Nieuw lid
Hallo allemaal.
Ik heb een prijs in mijn MYSQL staan.
En op mijn pagina de volgende code (genereren van een .PDF):
$Tbedrag = "".substr($oFetch['prijs'], 0, -2).",".substr($oFetch['prijs'], -2)."";
$bedragEx = ($Tbedrag / 100) * 19;
echo $pdf->Cell(10,10, "".$bedragEx." excl 19% BTW",0,1 );
$Tbedrag = "" . substr ( $oFetch [ 'prijs' ] , 0 , - 2 ) . "," . substr ( $oFetch [ 'prijs' ] , - 2 ) . "" ; $bedragEx = ( $Tbedrag / 100 ) * 19 ;
echo $pdf -> Cell ( 10 , 10 , "" . $bedragEx . " excl 19% BTW" , 0 , 1 ) ;
Het probleem:
$Tbedrag geeft netjes weer 1234,56 zoals het ook moet (incl btw).
$bedragEX geeft weer 234,46 dus het gaat ergens fout! kan iemand mij svp vertellen hoe ik dit kan oplossen?
Prijzen zijn in mysql opgeslagen ZONDER comma dus 1234,56 is in mijn MYSQL gewoon 123456.
Zoals je zit in de eerste regel, splits ik de prijs ook om er een comma tussen te plaatsen.
$Tbedrag = "".substr($oFetch['prijs'], 0, -2).",".substr($oFetch['prijs'], -2)."";
$Tbedrag = "" . substr ( $oFetch [ 'prijs' ] , 0 , - 2 ) . "," . substr ( $oFetch [ 'prijs' ] , - 2 ) . "" ;
11 antwoorden
Gesponsorde links
BramBo - 21/02/2008 15:29
JS gevorderde
Dat klopt ook als je de berekening bekijkt. Je berekent het btw bedrag niet het bedrag zonder btw:
1234,56 / 100 = 12,3456 * 19 = 234,5664
oftwel je dient het verkregen bedrag in $bedragEx nog af te trekken van $Tbedrag.
Behemutant - 21/02/2008 15:35
Nieuw lid
dus... dan zou het moeten worden:
$resultaat = ($Tbedrag - $bedragEx);
?
BramBo - 21/02/2008 15:46
JS gevorderde
Yup, of
$bedragEx = $Tbedrag - (($Tbedrag / 100) * 19);
$bedragEx = $Tbedrag - ( ( $Tbedrag / 100 ) * 19 ) ;
Threetimes - 21/02/2008 15:48 (laatste wijziging 21/02/2008 15:49)
PHP beginner
of
$bedragEx = $Tbedrag * 0.81;
$bedragEx = $Tbedrag * 0.81 ;
edit: waarom sla je de bedragen zonder komma op?
Behemutant - 21/02/2008 15:48 (laatste wijziging 21/02/2008 16:28)
Nieuw lid
1234, 56 incl 19% BTW 999.54 excl 19% BTW
(excl. zou 1037,44 moten zijn toch?)
Klopt niet helemaal of wel? wat ik nu heb:
$Tbedrag = "".substr($oFetch['prijs'], 0, -2).",".substr($oFetch['prijs'], -2)."";
$bedragEx = ($Tbedrag / 100) * 19;
$resultaat = ($Tbedrag - $bedragEx);
echo $pdf->Cell(10,10, "".$resultaat." excl 19% BTW",0,1 );
$Tbedrag = "" . substr ( $oFetch [ 'prijs' ] , 0 , - 2 ) . "," . substr ( $oFetch [ 'prijs' ] , - 2 ) . "" ; $bedragEx = ( $Tbedrag / 100 ) * 19 ;
$resultaat = ( $Tbedrag - $bedragEx ) ;
echo $pdf -> Cell ( 10 , 10 , "" . $resultaat . " excl 19% BTW" , 0 , 1 ) ;
p.s. had ik in mijn database bedragen INCL. comma kunnen zetten? en er dan nog mee kunnen rekenen? dus geen 123456 in mijn mysql database maar 1234,56 ?
Behemutant - 21/02/2008 16:47 (laatste wijziging 21/02/2008 16:49)
Nieuw lid
oke gaan we dat veranderen denk ik maar hoe kan ik dan op 999,54 uitkomen inplaats van 999,99 ?
want de code is goed toch?
Threetimes - 21/02/2008 17:27
PHP beginner
afrondingsfouten??
juiste datatype?
etc.?
Behemutant - 21/02/2008 17:36
Nieuw lid
dat zegt mij vrij weinig nog helaas, zal eens gaan kijken wat ik kan vinden... iemand anders die mij iets meer kan vertellen hoe dit te fixen alstublieft?
ceil($resultaat) heb ik wel geprobeerd maar dan wordt het niet 999,99 maar 1000,-
Threetimes - 21/02/2008 18:29
PHP beginner
als $Tbedrag exact 1234.56 is weet ik het ook niet...
is het niet per ongeluk 1234.57 ofzo?
Behemutant - 21/02/2008 19:48
Nieuw lid
1234, 56 incl 19% BTW 999.54 excl 19% BTW
dus echt 1234,56 incl 19% ja...
en daar trek ik dan het BTW bedrag vanaf:
$Tbedrag = "".substr($oFetch['prijs'], 0, -2).",".substr($oFetch['prijs'], -2)."";
$bedragEx = ($Tbedrag / 100) * 19;
$resultaat = ($Tbedrag - $bedragEx);
echo $pdf->Cell(10,10, "".ceil($resultaat)." excl 19% BTW",0,1 );
$Tbedrag = "" . substr ( $oFetch [ 'prijs' ] , 0 , - 2 ) . "," . substr ( $oFetch [ 'prijs' ] , - 2 ) . "" ; $bedragEx = ( $Tbedrag / 100 ) * 19 ;
$resultaat = ( $Tbedrag - $bedragEx ) ;
echo $pdf -> Cell ( 10 , 10 , "" . ceil ( $resultaat ) . " excl 19% BTW" , 0 , 1 ) ;
Gesponsorde links
Dit onderwerp is gesloten .