login  Naam:   Wachtwoord: 
Registreer je!
 Forum

getal omzetten (Opgelost)

Offline HannaH - 13/12/2008 14:09 (laatste wijziging 13/12/2008 14:12)
Avatar van HannaHMySQL interesse Hallo,

na een import van records (excel) krijg ik in een van mijn velden
2,31004E+11 ipv 231004004782
op zich zo geen probleem

maar hoe zet ik die best om naar een leesbare $?
$foo = $boo(int) of zoiets?
maar dan krijg ik als resultaat 2
en dus niet die 231004004782


HannaH

ps
ik zou die excel lijst kunnen aanpassen maar dat is nu de bedoeling niet.

12 antwoorden

Gesponsorde links
Offline ranco - 13/12/2008 14:41 (laatste wijziging 13/12/2008 14:55)
Avatar van ranco PHP gevorderde Een beetje googlen en je was er ook achter gekomen... (Google.be: php e-notation)
Maar goed, we zijn de slechtste niet.

  1. echo rtrim(sprintf("%f", 2.31004E+11),"0");


Waarbij 2,31004E+11 dus steeds je getal in moet komen.
Let hierbij op dat je de komma vervangt door een punt!
Offline HannaH - 13/12/2008 20:16
Avatar van HannaH MySQL interesse thx...
maar een getal van 12 cijfers zet Excel om in 2,31004E+11
dus ik zit met een komma

de import van 10 cijfers importeert hij vlot als 1234567890
maar bij 12 gaat het mis..
dat veld staat als varchar 200 ut8_bin
als ik dat veld als integer zet importeert hij enkel de "2"
ipv 2,31004E+11

dus hoogst waarschijnlijk definiëer ik mijn database niet goed..
vrees ik



Offline Martijn - 13/12/2008 20:22 (laatste wijziging 13/12/2008 20:24)
Avatar van Martijn Crew PHP de max van int is 2147483647, dus 10 cijfers. Als je dat nog is keer 100 doet om bij 12 cijfers te komen, kan int t niet dus een grotere int kiezen. (en dan bedoel ik niet lengte) Bijvoorbeeld bigInt
Offline HannaH - 13/12/2008 20:35
Avatar van HannaH MySQL interesse ha...tuurlijk!

maar die importeert 'em nu net weer als 2
en niet als 231004004782

 
Offline Ultimatum - 13/12/2008 21:17
Avatar van Ultimatum PHP expert Wat als je ipv (int) (float) gebruikt, want int kan dit bereik niet aan. (Weet niet of float het oplost, je kan ook andere types proberen dan.)
Offline HannaH - 13/12/2008 21:34
Avatar van HannaH MySQL interesse nope....

ik krijg steeds die 2 of die 2,31004E+11
Offline roberini - 13/12/2008 21:46
Avatar van roberini HTML beginner in vb.net zou dit met een single moeten kunnen, dus je zou in die richting moeten denken
Offline HannaH - 15/12/2008 10:49
Avatar van HannaH MySQL interesse wel,
ik denk de tip van Ranco te gebruiken (e-notation, was wat ik zocht om te kunnen googlen)

strange dat Excel een komma geeft (ik krijg dit zo binnen)
dus zal ik deze eerst moeten omzetten naar een punt.
om deze om te zetten naar een leesbaar cijfer.

HannaH
Offline HannaH - 15/12/2008 10:49 (laatste wijziging 15/12/2008 10:50)
Avatar van HannaH MySQL interesse wel,
ik denk de tip van Ranco te gebruiken (e-notation, was wat ik zocht om te kunnen googlen)

strange dat Excel een komma geeft (ik krijg dit zo binnen)
dus zal ik deze eerst moeten omzetten naar een punt.
om deze dan om te zetten naar een leesbaar cijfer.

HannaH
Offline HannaH - 15/12/2008 10:49 (laatste wijziging 15/12/2008 10:50)
Avatar van HannaH MySQL interesse alvast thx iedereen ...

Offline Ontani - 15/12/2008 10:55
Avatar van Ontani Gouden medailleGouden medailleGouden medailleGouden medaille

-1
en als je nu gewoon ranco z'n voorbeeld gebruikt maar je waarde vanuit excel effe een str_replace op doen en de komma vervangen door een . ?
Offline HannaH - 15/12/2008 12:13
Avatar van HannaH MySQL interesse ranco's voorbeeld geeft 231004000000 weer ipv 231004004782
eigenlijk zit het probleem in de Excel file en ga deze eerst aanpakken voor die import

veel geleerd weliswaar (en me 3 dagen suf gegoogeld)
toch bedankt allemaal !

HannaH
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.252s