19 stellige Zahl in DB und zurück.
Bernd
- php
0 Tom0 Bernd0 Sven Rautenberg0 Tom0 wahsaga
Guten Abend allerseits,
ich habe folgendes Problem:
ich schreibe mit PHP eine 19 Stellige Zahl in eine Datenbank in ein Feld vom Typ varchar. Wenn ich diese Zahl wieder raushole, kriege ich sie in der Schreibweise: 6.747483398E16, was ja 10 hoch 16 heißt. gibt es in PHP eine einfach möglichkeit die zahl zurückzuwandeln, so das ich wieder eine anzeigbare version erhalte?
schönen Abend noch
Bernd
Hello,
ich schreibe mit PHP eine 19 Stellige Zahl in eine Datenbank in ein Feld vom Typ varchar. Wenn ich diese Zahl wieder raushole, kriege ich sie in der Schreibweise: 6.747483398E16, was ja 10 hoch 16 heißt.
Um was für eine Datenbank handelt es sich denn?
Gibt es Typfestlegungen für die Datenfelder (Spalten)?
Welchen Typ hat denn die Zahl vorher gehabt? -> gettype()
Grüße
Tom
Hi,
Danke erstmal.
Um was für eine Datenbank handelt es sich denn?
--> mysql.
Gibt es Typfestlegungen für die Datenfelder (Spalten)?
--> in welcher weise?
Welchen Typ hat denn die Zahl vorher gehabt? -> gettype()
--> war vorher der Inhalt eines Formularfeldes.
kann man das Ding nicht einfach explizit in einen double casten
Grüße
Bernd
Moin!
Um was für eine Datenbank handelt es sich denn?
--> mysql.
Was sagt phpMyAdmin oder die mysql-Kommandozeile zu deiner Datenbankeintragung? Wird die da richtig angezeigt?
kann man das Ding nicht einfach explizit in einen double casten
Wie holst du es raus aus der Datenbank? Wenn es ein String ist, dann ist es ein String und sollte in voller Länge erscheinen.
Wenn du daraus eine Zahl machst, kannst du diverse Dinge nicht mehr erwarten. Hängt davon ab, _was_ du erwartest und was du tust.
- Sven Rautenberg
Hello,
Um was für eine Datenbank handelt es sich denn?
--> mysql.Gibt es Typfestlegungen für die Datenfelder (Spalten)?
--> in welcher weise?
Irgendwie musst Du die Tabelle doch angelegt haben und mit
SELECT columns from Tabelle;
bekommst Du ein Array, in dem
Field
Type
Null
Key
Default
Extra
von der Tabelle ausgegeben werden, also die Strukturdaten. Die schau Dir erstmal an. Dann sehen wir weiter.
Welchen Typ hat denn die Zahl vorher gehabt? -> gettype()
--> war vorher der Inhalt eines Formularfeldes.
Ja, und danach war sie Inhalt einer Variablen und deren Type kann man bestimmen. Ist es denn im Formularfeld eine Ganzzahl oder eine Dezimalzahl oder ...?
kann man das Ding nicht einfach explizit in einen double casten
Nun, bei 19,keks Stellen (dezimal) ist gerade ein Typsprung.
Besser wäre doch, nicht Medizin aufs Problem zu schütten, sondern die Ursachen des Fehlers zu beseitigen, oder?
Grüße
Tom
hi
Irgendwie musst Du die Tabelle doch angelegt haben und mit
SELECT columns from Tabelle;
bekommst Du ein Array, in dem
Field
Type
Null
Key
Default
Extravon der Tabelle ausgegeben werden, also die Strukturdaten. Die schau Dir erstmal an. Dann sehen wir weiter.
Wie in der Frage bereits geschrieben hatte:
...ich schreibe mit PHP eine 19 Stellige Zahl in eine Datenbank in ein Feld vom Typ varchar..
Besser wäre doch, nicht Medizin aufs Problem zu schütten, sondern die Ursachen des Fehlers zu beseitigen, oder?
klar!
schönen Gruß
Hello,
Wie in der Frage bereits geschrieben hatte:
...ich schreibe mit PHP eine 19 Stellige Zahl in eine Datenbank in ein Feld vom Typ varchar..Besser wäre doch, nicht Medizin aufs Problem zu schütten, sondern die Ursachen des Fehlers zu beseitigen, oder?
klar!
Gut. Ich habe den Korkenzieher von nebenan geholt. Der eignet sich auch zum Würmer aus der Nase ziehen. ;-))
Wie lautet das SQL-Statement, mit dem die Zahl in das Stringfeld geschrieben wird?
Wie lautet das SQL-Statement, mit dem die Zahl aus der Tabelle geholt wird?
Wie lautet das PHP-Statement, mit dem der Inhalt des Stringfeldes aus dem Recordset in die PHP-Variable übertragen wird?
Wie lautet die Ausgabeanweisung in PHP?
Bis gleich
Tom
hi,
Ich habe den Korkenzieher von nebenan geholt.
bitte bemühe dich um eine artenbiologisch exaktere ausdrucksweise.
du redest offenbar von einem exemplar der in wohnungen öfters anzutreffenden, meist in küchenschubladen lebenden und sich von flaschenkorken ernährenden spezies der "schraubvögel".
dann sag das doch auch.
gruss,
wahsaga
Hello,
Ich habe den Korkenzieher von nebenan geholt.
bitte bemühe dich um eine artenbiologisch exaktere ausdrucksweise.
du redest offenbar von einem exemplar der in wohnungen öfters anzutreffenden, meist in küchenschubladen lebenden und sich von flaschenkorken ernährenden spezies der "schraubvögel".
dann sag das doch auch.
Ohne Nase keine Würmer. Was soll's. Hier toben im Moment nur noch "Schnell-Schnells" rum.
Grüße
Tom
hi,
kann man das Ding nicht einfach explizit in einen double casten
nein, nicht bei 19 stellen.
integer in php ist zu klein dafür, und grössere zahlen werden in float gecastet. das hat aber nur eine genauigkeit von 14 (15?) signifikanten stellen.
gruss,
wahsaga