Vermenigvuldigen met php

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Dennis Hoekstra

Dennis Hoekstra

05/11/2015 23:36:51
Quote Anchor link
Beste,
Ik ben nieuw op dit forum en ik zit met de volgende uitdaging welke ik graag met jullie wil aangaan. Ik hoop dat het valt onder 'Beginnen met php'.

Ik heb een code waarin er een totaalbedrag wordt weergegeven. Nu wil ik dit totaalbedrag bijvoorbeeld vermenigvuldigen met 2. Als ik deze berekening via PHP uitvoer krijg ik iedere keer een nul. Ik heb ook al even geexperimenteerd met haakjes etc.

Bijv.:
<td class="price">BTW
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $total['value'] * 2; ?>
</td>

Als ik de volgende code gebruik: <td class="price">BTW
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $total['value']; ?>
</td> krijg ik keurig het totaalbedrag te zien. Echter wil ik er dus een berekening van maken.

Wie o wie kan mij helpen?

Alvast ontzettend bedankt.

Groeten,
Dennis
 
PHP hulp

PHP hulp

15/01/2025 10:12:51
 
Ben van Velzen

Ben van Velzen

06/11/2015 00:04:10
Quote Anchor link
Wat is de precieze inhoud van $total['value']? Staat er misschien een € voor?
 
Thomas van den Heuvel

Thomas van den Heuvel

06/11/2015 00:05:30
Quote Anchor link
Probeer het eens met:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<td class="price">BTW <?php echo ($total['value'] * 2); ?></td>

Het kan in meerdere gevallen handig zijn als je om het "totale ding" wat je wilt weergeven ( haken ) zet.

Ik neem aan dat $total['value'] een getal bevat?
 
Dennis Hoekstra

Dennis Hoekstra

06/11/2015 00:14:04
Quote Anchor link
Beste Ben en Thomas,
Bedankt voor de antwoorden.

$total('value') bevat inderdaad een getal, uitgedrukt in euro's. De haakjes maken nog geen verschil. Ik ga er verder mee stoeien.

Groeten,
Dennis
 
Ivo P

Ivo P

06/11/2015 01:53:08
Quote Anchor link
Een getal is een getal en wordt niet uitgedrukt in euros.

Een getal bevat cijfers en eventueel 1 punt. Afgezien van octale of hexadecimale
 
Thomas van den Heuvel

Thomas van den Heuvel

06/11/2015 11:14:59
Quote Anchor link
Waarschijnlijk bevat $total['value'] geen geldig getal. Zoals Ivo aangeeft is het decimale scheidingsteken in PHP een punt. De komma wordt gebruikt als scheidingsteken voor duizendtallen (en dan alleen bij de opmaak voor weergave van getallen / bedragen, maar niet voor berekeningen volgens mij).

Het zou handig zijn als je eventjes laat zien wat $total['value'] voor bedrag bevat, anders blijft het een beetje koffiedik kijken...

Als ik een ongeldig getal vermenigvuldig met 2 komt hier (ook) 0 uit. Dit komt omdat geprobeerd wordt het ongeldige getal om te zetten naar een geldig getal omdat je hier een wiskundige operatie op los laat. Als dit dan niet lukt krijgt dit getal de waarde 0 (nul).

2 * 0 is nog steeds 0.
 
Dennis Hoekstra

Dennis Hoekstra

06/11/2015 12:43:48
Quote Anchor link
Waarde PHP'ers,
Bedankt voor de feedback.

In deze case is $total['value'] 38.50. Zoals reeds gemeld weergeeft de code
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $total['value']; ?>
wel het juiste bedrag (38.50), echter als ik er een berekening van wil maken kom ik dus iedere keer uit op nul.

Wie kan mij verder helpen?

Groeten,
Dennis
 
Ivo P

Ivo P

06/11/2015 13:03:53
Quote Anchor link
stel dat je niet x2 doet.

Wat staat er dan op het scherm? En dan bedoel ik de hele regel dus niet jouw verkorte versie "38.50", maar de zin van begin tot einde.
 
- SanThe -

- SanThe -

06/11/2015 13:06:59
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo strval($total['value']) * 2;
?>
Gewijzigd op 06/11/2015 13:07:33 door - SanThe -
 
Dennis Hoekstra

Dennis Hoekstra

06/11/2015 13:40:57
Quote Anchor link
De normale code is
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $total['value']; ?>

En geeft het volgende in mijn scherm: €38.75. Deze code werkt naar behoren. Maar nu wil ik dus als voorbeeld dat bedrag vermenigvuldigen met 2, zodat er in mijn scherm komt te staan: €77.50. Ik heb van alles al geprobeerd.
 
Thomas van den Heuvel

Thomas van den Heuvel

06/11/2015 13:55:18
Quote Anchor link
Dus het euroteken zit in $total['value']?

Dat is geen geldig getal.

Breng de valuta in een apart veld onder, bijvoorbeeld $total['currency'] ofzo.
 
Ivo P

Ivo P

06/11/2015 14:23:41
Quote Anchor link
Een getal bestaat uit cijfers en eventueel 1 punt als decimaalteken.

Dus geen €, $ tekens, geen EUR of iets dergelijks ervoor of erachter.

En houd dat ook gescheiden. De snelle oplossing is om met ltrim() of str_replace() dat €-teken te verwijderen, maar dat is een lapmiddel. Je moet die waarde sowieso al niet inclusief valutateken opslaan.
 
Dennis Hoekstra

Dennis Hoekstra

06/11/2015 17:08:11
Quote Anchor link
Iedereen bedankt voor de feedback! Na een middagje stoeien is het gelukt:D
 



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.