Daten mit einer Schleife aus xml datei auslesen?

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Cabble
Beiträge: 32
Registriert: 24.01.2009 13:48
Wohnort: Mecklenburg-Vorpommer O.o
Kontaktdaten:

Beitrag von Cabble »

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 =/
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

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...)
Benutzeravatar
Cabble
Beiträge: 32
Registriert: 24.01.2009 13:48
Wohnort: Mecklenburg-Vorpommer O.o
Kontaktdaten:

Beitrag von Cabble »

ach stimmt. wo du es sagst fällt mir grade ein das ich im helpfile mal was davon gelesen hab. also müssten ja alle zahlen wie 1.8 oder so funktionieren.

danke für die antwort :)
ich hoffe mal, dass das bei den berechnungen nicht allzustark stören wird
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

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.
Benutzeravatar
Cabble
Beiträge: 32
Registriert: 24.01.2009 13:48
Wohnort: Mecklenburg-Vorpommer O.o
Kontaktdaten:

Beitrag von Cabble »

wäre eine möglichkeit, wenn ich das früher gewusst hätte. aber ich hab jetzt keine lust meine tabelle mit 3 spalten die float werte haben für 168 zeilen umzuschreiben ^^
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

für sowas kann man sich aber echt ganz ganz easy nen converter schreiben...
Benutzeravatar
Cabble
Beiträge: 32
Registriert: 24.01.2009 13:48
Wohnort: Mecklenburg-Vorpommer O.o
Kontaktdaten:

Beitrag von Cabble »

"ganz easy" xD
für mich nich ganz so easy :P
naja egal.. ich hoffe mal das die ergebnisse nicht zu stark abweichen. ein paar der endergebnisse werden zwar sowieso abgerundet, aber ich hab da son kleinen tick, dass es möglichst ganz korrekt ist ^^
Andesdaf
Moderator
Beiträge: 2671
Registriert: 15.06.2008 18:22
Wohnort: Dresden

Beitrag von Andesdaf »

[OT]
schicker ava, Cabble!
[/OT]
Win11 x64 | PB 6.20
Antworten