Daten mit einer Schleife aus xml datei auslesen?
nächstes kleines problem: weil das ja ne float zahl ist, die aus der xml ausgelesen wird, hat sie sehr viel stellen hinter dem komma, die eigentlich nich da sein sollten (z.B. steht da 1.89999997615814 obwohl im xml file 1.9 steht). kann man da was gegen machen? das wäre nich so schön wenn es so bleibt, weil die berchnungen dann ziemlich ungenau werden =/
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
probier mal, double zu nehmen, vielleicht wird das dann besser.
ganz abschalten läßt sich das bei der Verwendung von Fließkomma nicht,
weil diese Notation nun mal nur (gebrochene) zweierpotenzen exakt darstellen kann.
Berechnungen mit Computern sind immer nur begrenzt genau.
(naja, eigentlich berechnungen generell...)
ganz abschalten läßt sich das bei der Verwendung von Fließkomma nicht,
weil diese Notation nun mal nur (gebrochene) zweierpotenzen exakt darstellen kann.
Berechnungen mit Computern sind immer nur begrenzt genau.
(naja, eigentlich berechnungen generell...)
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
hier mal wieder der obligatorische Hinweis den ich regelmäßig gebe:
je nachdem was für berechnungen du hast, lohnt es sich mit Fixkomma zu arbeiten.
das bedeutet, du verwendest Ganzzahlen, rechnest aber mit tausendstel oder so.
wenn du eine 1.9 als 1900 speicherst, wird deine berechnung immer auf jede tausendstel genau korrekt sein.
das komma brauchst du eigentlich nur für die textausgabe einfügen.
deinen werten ist es egal, ob die einheit 2 oder 2000 attack hat,
wenn du damit eben auf 100.000 statt auf 100 hitpoints gehst.
auch für bewegungen kann das praktisch sein.
wenn du mit floats rechnest, kann es passieren, dass du nach einem
Beschleunigungs- und einem Brems-Vorgang nicht wieder genau bei Null landest,
du musst also eine zusätzliche bedingung einfügen, die deine 0.00000027 wieder zu einer Null macht.
mit Fixkomma kann dir das nicht passieren.
je nachdem was für berechnungen du hast, lohnt es sich mit Fixkomma zu arbeiten.
das bedeutet, du verwendest Ganzzahlen, rechnest aber mit tausendstel oder so.
wenn du eine 1.9 als 1900 speicherst, wird deine berechnung immer auf jede tausendstel genau korrekt sein.
das komma brauchst du eigentlich nur für die textausgabe einfügen.
deinen werten ist es egal, ob die einheit 2 oder 2000 attack hat,
wenn du damit eben auf 100.000 statt auf 100 hitpoints gehst.
auch für bewegungen kann das praktisch sein.
wenn du mit floats rechnest, kann es passieren, dass du nach einem
Beschleunigungs- und einem Brems-Vorgang nicht wieder genau bei Null landest,
du musst also eine zusätzliche bedingung einfügen, die deine 0.00000027 wieder zu einer Null macht.
mit Fixkomma kann dir das nicht passieren.
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22