Kommawerte beim Schreiben in die Datenbank umwandeln
Hans
- datenbank
0 dr.Colossos0 Hans0 dr.Colossos0 MudGuard0 dr.Colossos0 MudGuard
0 Hans
Guten Abend!
Mir bereiten beim Befüllen und Auslesen meiner Datenbank die Kommastellen Probleme.
Als Formatierung der entsprechenden Spalte habe ich "Float" gewählt.
Es werden nur Werte angenommen, deren Nachkommastellen durch einen Punkt abgetrennt sind, also z.B. "0.5". Gibt man "0,5" oder etwa "1/2" ein, wird eine Null in die Tabelle geschrieben.
Wie habt ihr dieses Problem gelöst?
Kann man die Werte automatisch bei der Eingabe in das richtige Format (mit Punkt) umwandeln lassen und Brüche (wie 1/2 oder 3/4) umrechnen lassen?
Dankeschön!
Hi,
wichtig waere mal zu wissen welche Datenbank du nutzt - mein Typ ist mysql ... Typ im Sinne von "ich denke du nutzt das" und nicht "ich denke du solltest das nutzen".
Im Fall mysql bin ich mir nicht sicher, aber manche Datenbanksysteme haben Umgebungsvariablen die definieren, in welchem Format Floats ankommen.
Falls es nur im Format 'X.Y' geht, dann einfach vorm Schreiben in die DB folgendes ausfuehren.
x = str_replace(',', '.', x);
Es mag auch schlauere Moeglichkeiten geben.
Brueche gibts innerhalb von EDV nicht, das ist immer ein float/double, d.h. wenn 3/4 in die DB schreibst und danach liest kriegst du 0.75 zurueck.
Vielen Dank, ich werds mal ausprobieren.
Ich bin übrigens ganz dein Typ.
Jaja, die Verwirrung wird um sich greifen ... das sollte Tip und nicht Typ heissen ... naja, Rechtschreibung und Internet vertraegt sich eh ned.
Hi,
Jaja, die Verwirrung wird um sich greifen ... das sollte Tip und nicht Typ heissen ... naja, Rechtschreibung
und nach der Rechtschreibdeform [sic!] müßte es "Tipp" heißen ...
("heißen" schreibt sich davor und danach "heißen").
cu,
Andreas
Hi,
Jaja, die Verwirrung wird um sich greifen ... das sollte Tip und nicht Typ heissen ... naja, Rechtschreibung
und nach der Rechtschreibdeform [sic!] müßte es "Tipp" heißen ...
("heißen" schreibt sich davor und danach "heißen").cu,
Andreas
Tja, leider habe ich kein 'sz' auf meiner amerikanischen Tastatur ... den ASCII-Code wollte ich auch nicht unbedint rauskramen.
Ein Doppel-P find ich hier auch nicht, hehe.
Hi,
Tja, leider habe ich kein 'sz' auf meiner amerikanischen Tastatur ... den ASCII-Code wollte ich auch nicht unbedint rauskramen.
Die Mühe kannst Du Dir von vornherein sparen - es gibt keinen keinen ASCII-Code für ß.
cu,
Andreas
okay, okay, du kriegst den Klugscheisser-Preis, ich geb auf :)
Um euer sehr amüsantes Gespräch mal zu stören, hab ich hier nochmal eine Frage, die ich im Folgenden 100% rechtschreibungskonform wiederzugeben versuche.
Ich bin vom Typ MySQL und habe immernoch ein Problem mit den Brüchen. Bei Eingabe von "3/4" wird lediglich eine "3" in die Datenbank geschieben, bei "1/2" entsprechend eine "1". Kann man das vielleicht lösen, indem man Dr. Colossos' Ansatz folgend das Slash durch ein ":" (geteilt durch) ersetzt oder ähnliches? Wie kann das in den Befehl (x = str_replace(',', '.', x);) einfügen?
Ich entschuldige mich im Voraus (<- mit einem s) für evtl. vorhandene Rechtschreibfehler. Danke.