login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Prijs correct weergeven (Opgelost)

Offline GroundZero - 27/11/2011 14:25
Avatar van GroundZeroLid Beste,

ik heb een prijs welke in mijn database als één int word ingevuld, dus de prijs 19,95 euro word ingevuld als 1995.

Nu wil ik dat hij bij de weergaven zelf een comma zet twee karakters voor het eind dus 1995 zou dan 19,95 worden, of een 20000 zou dan 200,00 worden.

Echter krijg ik dit niet voor elkaar, kan iemand mij misschien vertellen hoe ik dit kan doen?

Ik dacht dat ik het vroeger met number_format() deed, maar dit werkt nu niet omdat mijn prijzen geen punt of komma bevatten.

Hopelijk weet iemand een oplossing ;)

7 antwoorden

Gesponsorde links
Offline vinTage - 27/11/2011 14:28 (laatste wijziging 27/11/2011 14:29)
Avatar van vinTage Nieuw lid maak van je databaseveld een float ipv int. Dan komen er wel punten in (je moet ze dan wel meegeven he )
Offline WouterJ - 27/11/2011 14:29
Avatar van WouterJ HTML gevorderde Je zou het met regex kunnen oplossen:
  1. $getal = 1995;
  2. var_dump( preg_replace('/(.{2})$/', ',\\1', $getal) );
  3. // geeft 19.95

Maar er bestaan vast veel betere en snellere methodes.

Daarnaast, waarom voer je ze in als 1995 en niet al 19.95?
Offline GroundZero - 27/11/2011 14:32
Avatar van GroundZero Lid kan ik dan ook optellen als ik het floats maak in de database?
dus op het einde van de rit dat ik kan zeggen:

  1. $prijs1 + $prijs2 + $prijs3 = $totaal;
  2. echo $totaal;


en dat het dan ook goed werkt? 
Offline vinTage - 27/11/2011 14:34
Avatar van vinTage Nieuw lid ja, je kan floats gewoon optellen
Bedankt door: GroundZero
Offline GroundZero - 27/11/2011 14:37 (laatste wijziging 27/11/2011 14:41)
Avatar van GroundZero Lid oke super bedankt voor de antwoorden gaan we dat doen ;)
nog één vraag:

hij weergeeft nu geen nul op het einde, hoe fix ik dat? 

19,90 geeft hij weer als 19,9 lol

Heb het opgelost met:

  1. number_format($total, '2', '.', '')


weet alleen niet of dat wel goed is? 
Offline vinTage - 27/11/2011 14:42
Avatar van vinTage Nieuw lid die 0 heeft ook geen waarde daar he, dus de rest los je op met je number_format
Offline MiST - 27/11/2011 14:43
Avatar van MiST Lid What about delen door 100? 

Waarom in godsnaam regexen of andere rotzooi gebruiken als het ook super easy kan. PHP past automatisch zijn types aan. Laten we daar gebruik van maken.

On the other hand: Waarom integers gebruiken als het ook gewoon met floats kan? Afrondingsfouten gaan altijd voorkomen. Maar het is jouw taak om die correct af te handelen.

Gebruik gewoon een round() of sprintf() om je flaots tot twee getallen na de komma weer te geven.
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.202s