kommagetallen in database

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Louis Deconinck

Louis Deconinck

01/08/2012 22:38:52
Quote Anchor link
Is het mogelijk om getallen tot op 2 cijfers na de komma in een databse te plaatsen, zo ja, wat voor type moet ik dan selecteren?
 
PHP hulp

PHP hulp

29/03/2024 09:35:25
 
Gerben G

Gerben G

01/08/2012 22:40:01
Quote Anchor link
Double,decimal,float
 
Louis Deconinck

Louis Deconinck

01/08/2012 22:42:07
Quote Anchor link
Ok, ik heb het antwoord al gevonden. Wat ik wel graag nog had gehad, is dat het mogelijk is om zowel , als . te gebruiken voor kommagetallen, hoe los ik dit op?
 
Erwin H

Erwin H

01/08/2012 22:45:28
Quote Anchor link
De basis types voor getallen zijn (in bijna alle programmeertalen) integer en double (of ookwel float of real genaamd). Bij een double kan je de zogenaamde decimale getallen (wat jij kommagetallen noemt) opslaan. Daarnaast heb je in MySQL (aannemende dat je het over een MySQL database hebt) ook nog fixed point types, waarbij je het aantal decimalen kunt bepalen. Soms handig, meestal is het echter beter (flexibeler) om de gewone decimale types te gebruiken.

Datatypes in MySQL:
integer - geen decimalen
decimal, numeric - fixed point
float, double - floating point

Meer info: http://dev.mysql.com/doc/refman/5.0/en/floating-point-types.html

Toevoeging op 01/08/2012 22:46:07:

Louis Deconinck op 01/08/2012 22:42:07:
Ok, ik heb het antwoord al gevonden. Wat ik wel graag nog had gehad, is dat het mogelijk is om zowel , als . te gebruiken voor kommagetallen, hoe los ik dit op?

Nee, je kan alleen de punt gebruiken, aangezien het altijd de Amerikaanse schrijfwijze gebruikt.
 
Louis Deconinck

Louis Deconinck

01/08/2012 22:48:15
Quote Anchor link
Ok, heel erg bedankt, is er dan ook een manier om te checken of een ingevoerd getal maximaal 2 getallen na de komma heeft?
 
Erwin H

Erwin H

01/08/2012 22:50:49
Quote Anchor link
Waarom zou je dat willen?
 
Eddy E

Eddy E

02/08/2012 11:12:21
Quote Anchor link
Ja, want €1,00 == €1 == €1,0
Is allemaal hetzelfde.

Controleren kan wel hoor:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
$bedrag
= 12.04;
list($voorpunt, $napunt) = explode(".", $bedrag);
if(strlen($napunt) == 2)
 {

 // bedrag heeft 2 decimalen
 echo 'Ja, bedrag ('.$napunt.') heeft 2 decimalen';
 }

?>

Zie ook: http://codepad.org/AsShokZj
Gewijzigd op 02/08/2012 11:13:02 door Eddy E
 
Louis Deconinck

Louis Deconinck

02/08/2012 14:22:52
Quote Anchor link
Ok, bedankt is het misschien mogelijk om bij een input als 11,5 de , naar een . te veranderen zodat het kommagetal toch geldig is?
 
- SanThe -

- SanThe -

02/08/2012 14:35:38
Quote Anchor link
str_replace()
 
Louis Deconinck

Louis Deconinck

02/08/2012 14:50:38
Quote Anchor link
Waarom werkt dit niet?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
str_replace(',', '.', $saldo);
?>


**EDIT** Mijn domme fout ik moet dit uiteraard in een variabele plaatsen
Gewijzigd op 02/08/2012 14:52:06 door Louis Deconinck
 



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.