Hallo Leute
Hab ein komisches Problem
mit dem Befehl /tax kann ich die steuern setzen.
Da kommt erstma nen Auswahldialog, welche Steuer man setzen will, kein Problem
Dann klickt man rein und es erscheint wieder ein Dialog mit der Eingabe. Da steht auch die jetzige Steuer im Titel. Diese kommt aus mysql und beträgt im Moment 0.06%
So, da is schonmal das erste Problem! Im Dialog steht 0.05% statt 0.06%! Obwohl da im format-Befehl "%.2f%%" steht..
So, wäre ja halb so schlimm. Dann gib ich halt mal z.B. 0.06 ins Eingabefeld ein. Er nimmt alles an, in der MySQL speichert er es auch mit 0.06.
Danach erscheint ein Text, das die Steuer gesetzt wurde, allerdings steht das dort so:
"Der allgemeine Steuersatz wurde auf 0.05 2.19521e-152esetzt" statt "Der allgemeine Steuersatz wurde auf 0.06% gesetzt"!
Der Code dazu sieht so aus:
new Float:tax = floatstr(inputtext);
MySQLStuffUpdateFloat(1, "sGeneralTax", tax);
format(string,STRING128,"Der allgemeine Steuersatz wurde auf %.2f%% gesetzt!",tax); //meiner meinung nach alles richtig :(
return SendClientMessageToAll(C_ORANGE,string);
habt ihr eine idee?
MFG selEcT
//edit: habs mal mit %.0f probiert, bringt auch nix.. wenn ich allerdings %.5f%% mache, dann kommt statt "Der allgemeine Steuersatz wurde auf 0.05 2.19521e-152esetzt" einfach "Der allgemeine Steuersatz wurde auf 0.06000 2.19521e-152esetzt"
so, habs jetzt statt mit "%%" einfach mit "Prozent" angegeben. Jetzt wird es korrekt angezeigt. Allerdings wenn ich 0.06 eingebe, dann is wieder 0.5 (=> 0.05999) und wenn ich z.B. 0.8 eingebe, ist es 0.7.. kann es sein das da nicht richtig gerundet wird? oder was muss ich machen, damit das stimmt?