[PHP/MySQL] Decimal datatype met punt of komma

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • DeepFreeze.NL
  • Registratie: April 2006
  • Laatst online: 02-03 08:01
Het is waarschijnlijk een eenvoudige vraag, maar toch kan ik het juiste antwoord nergens vinden. Ik zit met het probleem dat ik bedragen met maximaal 4 cijfers (kan ook 3) voor de komma en 2 cijfers achter de komma wil opslaan in MySQL. Hiervoor gebruik ik het datatype "Decimal".

Mijn tabel ziet er dan ook als volgt uit:
FieldTypeCollationAttributesNullDefault
bedragdecimal(6,2)NoNone

PHP rekent met punt (.). Dus bijvoorbeeld 3.4 * 3 = 10.2

De bedragen in MySQL worden handmatig aangepast, moet ik ze nu opslaan met een punt of een komma in MySQL? Of maakt dat helemaal niet uit?

Alvast mijn dank!

Acties:
  • 0 Henk 'm!

  • gvdh
  • Registratie: December 2009
  • Laatst online: 11:46
DeepFreeze.NL schreef op woensdag 14 april 2010 @ 10:28:

De bedragen in MySQL worden handmatig aangepast, moet ik ze nu opslaan met een punt of een komma in MySQL? Of maakt dat helemaal niet uit?

Alvast mijn dank!
Voor zover ik weet moet je in een SQL-query een punt gebruiken.
Voorbeeld:
SQL:
1
Update tabel Set bedrag = 10.2 Where id = 1

Acties:
  • 0 Henk 'm!

  • Voutloos
  • Registratie: Januari 2002
  • Niet online
Binnen een paar seconden hd je het kunnen testen, of http://dev.mysql.com/doc/...umeric-type-overview.html welke duidelijk alleen maar '.' noemt kunnen vinden.

Overigens kan ook geen komma zijn, want anders kan je geen letterlijke float bijvoorbeeld in je select opnemen. B)

{signature}


Acties:
  • 0 Henk 'm!

  • DeepFreeze.NL
  • Registratie: April 2006
  • Laatst online: 02-03 08:01
Voutloos schreef op woensdag 14 april 2010 @ 10:57:
Binnen een paar seconden hd je het kunnen testen, of http://dev.mysql.com/doc/...umeric-type-overview.html welke duidelijk alleen maar '.' noemt kunnen vinden.

Overigens kan ook geen komma zijn, want anders kan je geen letterlijke float bijvoorbeeld in je select opnemen. B)
Je hebt gelijk, komma werkt inderdaad niet. Aangezien de Nederlandse notatie met een komma is, dan nu bij alle invoer de komma naar punt omzetten :). Bedankt!

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
DeepFreeze.NL schreef op woensdag 14 april 2010 @ 11:03:
dan nu bij alle invoer de komma naar punt omzetten
Ik zou me eerder proberen te houden aan de culture specifieke voorkeur van de gebruiker. Een Nederlander zal 12.345.678,90 invoeren, een Amerikaan 12,345,678.90*. Lees Getallen en talstelsels FAQ eens (en dan vooral puntje 9 en 10).

* Goed, meestal worden de cijfergroeperingssymbolen niet ingevoerd, maar dat neemt niet weg dat de een een punt en de ander een komma respectievelijk zal gebruiken als decimaalteken.

* RobIII leunt achterover en wacht op het standaard "Ja, mijn applicatie/website is toch alleen voor Nederlanders"-antwoord.

[ Voor 25% gewijzigd door RobIII op 14-04-2010 11:22 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 14:31

.oisyn

Moderator Devschuur®

Demotivational Speaker

Toch is zijn opmerking "dan nu bij alle invoer de komma naar punt omzetten" correct. Je wil namelijk van locale-specifieke representatie naar iets wat het systeem snapt, en dat zijn punten. Bij de uitvoer wil je mogelijk weer terug naar komma's. Maar je wilt zeker geen komma's in de database (dit snap jij natuurlijk ook wel, maar ik zeg het maar even voordat de TS denkt dat je suggereert dat je wel komma's in je db moet zetten ;))

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

  • DeepFreeze.NL
  • Registratie: April 2006
  • Laatst online: 02-03 08:01
.oisyn schreef op woensdag 14 april 2010 @ 11:30:
Toch is zijn opmerking "dan nu bij alle invoer de komma naar punt omzetten" correct. Je wil namelijk van locale-specifieke representatie naar iets wat het systeem snapt, en dat zijn punten. Bij de uitvoer wil je mogelijk weer terug naar komma's. Maar je wilt zeker geen komma's in de database (dit snap jij natuurlijk ook wel, maar ik zeg het maar even voordat de TS denkt dat je suggereert dat je wel komma's in je db moet zetten ;))
Het kwartje was goed gevallen hoor :)

Acties:
  • 0 Henk 'm!

Anoniem: 110237

Decimaal-scheidingstekens worden dan toch ook omgezet?

(NL) 12.345.678,90 > 12.345.678.90
(US) 12,345,678.90 > 12.345.678.90

detail? :P

Acties:
  • 0 Henk 'm!

  • Room42
  • Registratie: September 2001
  • Niet online
Anoniem: 110237 schreef op woensdag 14 april 2010 @ 11:42:
Decimaal-scheidingstekens worden dan toch ook omgezet?

(NL) 12.345.678,90 > 12.345.678.90
(US) 12,345,678.90 > 12.345.678.90

detail? :P
Bij het invoeren van getallen gebruik je normaal gesproken geen duizendtal-scheiding.

"Technological advancements don't feel fun anymore because of the motivations behind so many of them." Bron


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
.oisyn schreef op woensdag 14 april 2010 @ 11:30:
Toch is zijn opmerking "dan nu bij alle invoer de komma naar punt omzetten" correct.
Op het moment dat je het getal in een query gaat mikken wel ja (of beter: gebruik parameterized queries, heb je heel dat geneuzel niet). Maar je opmerking is terecht :>
.oisyn schreef op woensdag 14 april 2010 @ 11:30:
dit snap jij natuurlijk ook wel
D'uh :+
Room42 schreef op woensdag 14 april 2010 @ 11:48:
[...]

Bij het invoeren van getallen gebruik je normaal gesproken geen duizendtal scheiding.
En als ik dat wel doe omdat ik een mierenneukende boekhouder ben?

[ Voor 37% gewijzigd door RobIII op 14-04-2010 11:50 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • Kalentum
  • Registratie: Juni 2004
  • Laatst online: 15:39
RobIII schreef op woensdag 14 april 2010 @ 11:49:
En als ik dat wel doe omdat ik een mierenneukende boekhouder ben?
Oplossen in de user interface? Twee vakjes maken: 1 voor alles voor de komma dan wel punt, 1 voor alles erna. Alleen getallen accepteren.

Acties:
  • 0 Henk 'm!

  • Voutloos
  • Registratie: Januari 2002
  • Niet online
Ja leuk, mag je opeens je tab zoeken terwijl je je lekker op het numpad aan het uitleven bent.

(En input van duizendtallen dingetjes dien je maar af te leren :+ )

[ Voor 27% gewijzigd door Voutloos op 14-04-2010 12:09 ]

{signature}


Acties:
  • 0 Henk 'm!

  • Room42
  • Registratie: September 2001
  • Niet online
RobIII schreef op woensdag 14 april 2010 @ 11:49:
[...]

En als ik dat wel doe omdat ik een mierenneukende boekhouder ben?
Afbeeldingslocatie: http://i29.tinypic.com/zofb0h.jpg

:+

"Technological advancements don't feel fun anymore because of the motivations behind so many of them." Bron

Pagina: 1