MySQL Float abspeichern

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hallo,


    als erstes frage ich euch, wie ich korrekt ein float abspeichere.
    Ich möchte nämlich die Leben speichern.

    #define TABLE_USER "server_user"
    new Float: xhhealth;
    GetPlayerHealth(playerid, Float:xhhealth);
    format(string,sizeof(string),"UPDATE `"TABLE_USER"` SET `health`='%f' WHERE (`id` = '%d')",Float:xhhealth, PlayerInfo[playerid][uid]);
    mysql_query(string);

    So in der Datenbank habe ich für die Spalte health float eingestellt.
    Wenn ich es so abspeichere, steht im mysqllog zwar, dass es als 100.000000 abgespeichert wurde, aber in der Datenbank steht: 1.11883e+09
    Naja e+09 heißt eben 9 Nuller mehr.


    Natürlich läd er dadurch falsch. Wenn ich %0.2f einsetze, speichert er trotzdem 100.00000 ab, statt 100.00.


    Grüße
    Tobias


    EDIT: Habe in MySQl mit phpmyadmin die Spalte Health auf decimal 10,6 gestellt

    Kalcor: "... it makes the game look like it's not GTA. This mod is called San Andreas Multiplayer. It's not a custom game engine which you can script..."

    Einmal editiert, zuletzt von Atrox ()