Bedrag verhogen met een percentage

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Dennis

Dennis

21/08/2008 20:09:00
Quote Anchor link
Geachte dames en heren,

Ik ben bezig met het importeren van artikelen in mijn webwinkeltje.
Nu is het zo dat ik de artikelen middels een xml pagina in mijn database kan zetten, so far so good..

Het volgende probleem doet zich voor...

In deze xml pagina staan mijn inkoopprijzen en die wil ik voordat ik het wegschrijf in de database gaan verhogen met een percentage.

normaal als je bv € 6.90 x 25% doet is dat hetzelfde als vermenigvuldigen met 1.25. ( € 8.63 )

ik gebruik nu het volgende:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?
  
 foreach($xml->product as $item) {
    
 $inkoopprijs= $item->prijs_ex;
$verkoopprijs=($item->prijs_ex*1.25);


        echo "Inkoopprijs $item->prijs_ex </br>";
        echo "verkoopprijs $verkoopprijs </br>";
    
}


?>


de uitkomst bij 6.90is nu vreemd genoeg 7.5

Wat gaat er mis?
Gewijzigd op 01/01/1970 01:00:00 door Dennis
 
PHP hulp

PHP hulp

11/03/2025 22:03:24
 

21/08/2008 20:24:00
Quote Anchor link
Je kunt een var_dump doen op die $item->prijs_ex om te kijken of de var wel echt 6.9 is en toevallig niet gewoon 6.
 
Dennis

Dennis

21/08/2008 20:31:00
Quote Anchor link
Als ik $item->prijs_ex echo, wordt 6.9 weergegeven...
 
Ed

Ed

21/08/2008 20:41:00
Quote Anchor link
Lijkt me wel een integer interpretatie van de 6.9, aangezien 6 * 1.25 = 7.5
 
Aron K

Aron K

21/08/2008 20:45:00
Quote Anchor link
probeer eens:
$verkoopprijs=$inkoopprijs*1.25;
 
Bo az

Bo az

21/08/2008 21:17:00
Quote Anchor link
Waarschijnlijk staat er in je xml geen 6.9 of 6.90 zoals jou post ons doet geloven, maar staat er 6,9

Zie ook dit test scriptje:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
$foo
= array(6.9,'6,9');
foreach($foo as $bar) {
    echo $bar . ' => ' . ($bar*1.25).'<br>';
}
[
/code]
 
Ed

Ed

21/08/2008 21:59:00
Quote Anchor link
Je ziet het duidelijker met dit script:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php

$foo
=  array('6,9', '6.9', 6.9);


foreach ($foo as $bar) {
    echo $bar . ' ==>' . (double) $bar . ' <br> ';
}


?>


Output:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
6,9 ==> 6
6.9 ==> 6.9
6.9 ==> 6.9
Gewijzigd op 01/01/1970 01:00:00 door Ed
 
- -

- -

21/08/2008 22:05:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php

foreach($xml->product as $item)
{

    $inkoopprijs = (float) $item->prijs_ex;
    $verkoopprijs = ((float) $item->prijs_ex) * 1.25;

    echo 'Inkoopprijs ' . $inkoopprijs . '<br />' . PHP_EOL;
    echo 'Verkoopprijs ' . $verkoopprijs . '<br />' . PHP_EOL;
}


?>
Gewijzigd op 01/01/1970 01:00:00 door - -
 

21/08/2008 22:06:00
Quote Anchor link
Danny schreef op 21.08.2008 21:59:
Je ziet het duidelijker met dit script:

Ikke zie het duidelijker met Boaz script, wat ie zegt, daar doelde ik ook op met me var_dump.
 
Ed

Ed

21/08/2008 22:07:00
Quote Anchor link
Jonathan schreef op 21.08.2008 22:05:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php

foreach($xml->product as $item)
{

    $inkoopprijs = (int) $item->prijs_ex;
    $verkoopprijs = ((int) $item->prijs_ex) * 1.25;

    echo 'Inkoopprijs ' . $inkoopprijs . '<br />' . PHP_EOL;
    echo 'Verkoopprijs ' . $verkoopprijs . '<br />' . PHP_EOL;
}


?>


Dat gaat niet werken, aangezien 6.9 geen int is maar een double/float.
 
- -

- -

21/08/2008 22:24:00
Quote Anchor link
Danny schreef op 21.08.2008 22:07:
Jonathan schreef op 21.08.2008 22:05:
[..]


Dat gaat niet werken, aangezien 6.9 geen int is maar een double/float.

Moest natuurlijk float zijn:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php

foreach($xml->product as $item)
{

    $inkoopprijs = (float) $item->prijs_ex;
    $verkoopprijs = ((float) $item->prijs_ex) * 1.25;

    echo 'Inkoopprijs ' . $inkoopprijs . '<br />' . PHP_EOL;
    echo 'Verkoopprijs ' . $verkoopprijs . '<br />' . PHP_EOL;
}


?>
 
Dennis

Dennis

22/08/2008 17:15:00
Quote Anchor link
Ik heb de xml nogmaals goed bekeken maar er stond echt 6.9
Nu heb ik inderdaad float toegepast en het werkt.

Wat kan ik daar nu uit concluderen?

bedankt voor al jullie hulp!
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.