Rechenoperation erzeugt stets gerundete Werte


Max-Berater

Mitglied
Ich verzweifele langsam. Ich versuche seid Tagen Werte aus zwei Salten zu addieren. Was ja eigentlich Usus sein sollte.
Jedoch wird der Wert stets gerundet und in die Tabelle geschrieben. Aus 0,41 wird 0,00, was absoluter Murks ist.
Egal was ich versuche es scheitert. Stets der DOUBLE Fehler.


UPDATE tabellen_name
SET spaltenname = spaltenname operator zahl
WHERE where_condition; <--- Optional

Kann mir jemand hier helfen, ich würde gerne endlich dieses "Problem" lösen.

Ich habe es mit VARCHAR, INT, FLOAT etc. versucht. Nix hilft
 

Max-Berater

Mitglied
Habe es nochmals versucht - Felder als Float 10,2 deklariert. Aber dennoch werden bei Rechenoperationen die Werte nur gerundet dargestellt.

Selbst wenn ich die Daten von Tabelle a in Tabelle b per instert into 1:1 ohne eine Rechenoperation übertrage, passiert dieses.

SOLL

1603747040490.png
IST
1603747078923.png
 

Zvoni

Erfahrenes Mitglied
Argghhhhhh......
Hast du Komma oder Punkt als Dezimal-Separator?
Scheint ein "locale"-Problem zu sein.

Bei dir ist alles auf Deutsch, der Backend steht aber auf Default (=US oder sonst was)
 

ComFreek

Mod | @comfreek
Moderator
Ich denke nicht, dass es am Locale liegt: ich habe noch nicht davon gehört, dass verschiedene Locales per default verschieden viele Nachkommastellen rendern.

Ich verzweifele langsam. Ich versuche seid Tagen Werte aus zwei Salten zu addieren. Was ja eigentlich Usus sein sollte.
Jedoch wird der Wert stets gerundet und in die Tabelle geschrieben. Aus 0,41 wird 0,00, was absoluter Murks ist.
Egal was ich versuche es scheitert. Stets der DOUBLE Fehler.


UPDATE tabellen_name
SET spaltenname = spaltenname operator zahl
WHERE where_condition; <--- Optional

Kann mir jemand hier helfen, ich würde gerne endlich dieses "Problem" lösen.

Ich habe es mit VARCHAR, INT, FLOAT etc. versucht. Nix hilft

Die Spalte muss auf jeden Fall ein FLOAT oder DECIMAL sein.
Achte darauf, dass du den Spaltentypen änderst, dass möglicherweise alle Werte verloren gehen. Verifiziere zuerst nach der Änderung, ob die Spalte auch das enthält, was du denkst.

Dann versuch mal:
SQL:
UPDATE tabellen_name
SET spaltenname = spaltenname + 1.0
WHERE where_condition

Auch könnte PHPMyAdmin hier schuld sein und per default weniger Nachkommastellen rendern. Guck mal in der UI, ob du da irgendwo eine Einstellung findest.
 

Zvoni

Erfahrenes Mitglied
Hmmm....stimmt.
Ist HeidiSQL mit MySQL kompatibel?
Falls ja, hätte ich mal mit MySQL Workbench reingeschaut anstatt mit diesem php-dingens
 

Max-Berater

Mitglied
Ihr seid genial. Habe alles nochmals gechecked - UTF8 war eingestellt und bei der anderen Tabelle latin1 - beides angepasst und sql laufen lassen. Und zack - Alles wie es sein soll.
 

Neue Beiträge

Forum-Statistiken

Themen
272.361
Beiträge
1.558.639
Mitglieder
187.834
Neuestes Mitglied
jordanx0206