Problem mit Floats...

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
RiSiNG
Beiträge: 92
Registriert: 18.06.2006 10:31
Kontaktdaten:

Problem mit Floats...

Beitrag von RiSiNG »

Wenn ich Fließkommawerte (nach dem Komma 2-stellig) per ReadString() einlese und sie in eine Floatvariable über ValF() speichern möchte, kommen plötzlich x-Stellen zu meinen Werten dazu, obwohl ich sie gern auf 2 Stellen nach dem Komma reduziert haben möchte.
Hoffe jemand kann helfen...
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
RiSiNG
Beiträge: 92
Registriert: 18.06.2006 10:31
Kontaktdaten:

Beitrag von RiSiNG »

Oh man... -.-" Wenigstens ein kleiner Tipp wäre toll....
Zuletzt geändert von RiSiNG am 02.09.2007 00:04, insgesamt 1-mal geändert.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Du mußt selber runden oder mit dem 100 fachen als Long arbeiten und bei
der Darstellung das Komma zwischen schieben. Oder sonstwas :mrgreen:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
RiSiNG
Beiträge: 92
Registriert: 18.06.2006 10:31
Kontaktdaten:

Beitrag von RiSiNG »

Hmmm ok... dachte vllt. gehts doch irgendwie effizienter.
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7028
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag von STARGÅTE »

mit welcher Stellen anzahl du im "Hintergrund" rechest ist doch egal, aber sobalt du es Anzeigen willst musst du doch eh wieder

Code: Alles auswählen

Result$ = StrF(Wert.f [, NbDecimal])
aufrufen, und hast wieder eine 2 Nachkommastellen
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

@Rising

das ist das ganz algemeine Float-problem, das ganz einfach durch die natur dieser speicherung hervorgebracht wird.



der momentane Wiki-Artikel is leider fürn Arsch!
früher war da die komplette Ausführung von Prof.W.Kahan enthalten,
die in leicht humoristischem Tonfall darlegt, warum es so ist wie es ist.

scheiß Wiki... das ist doch nur noch Balzgehabe von Fachleuten, die sich gegenseitig korrigieren...
kann man echt in der Pfeife rauchen... von wegen Volkslexikon.. pah!
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
hardfalcon
Beiträge: 3447
Registriert: 29.08.2004 20:46

Beitrag von hardfalcon »

Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

jap, das meinte ich... ist im aktuellen artikel nicht mehr enthalten.
sinnlose aufräumwut, sowas.

einem anfänger helfen diese sätze meiner meinung nach mehr, als ein fachartikel,
den er eh nur noch überscrollt, weil er von formeln erschlagen wird.

meiner ansicht nach gehört das zitat nicht kaputtdiskutiert,
sondern an den anfang eines artikels über gleitkommazahlen,
versehen mit einer netten einleitung, warum er dort steht.

wenn ein anfänger sowas liest, dann versteht er bestimmt trotzdem nicht alles,
aber er kann schmunzeln und sich denken "ok, geht also wirklich nicht"

mit dem momentanen krampfhaften fachartikel wird keinem anfänger auch nur eine frage beantwortet.

der steht nur da und sagt: "öh, ja schön, viele formeln... aber ich wollte wissen, wo meine komischen zusätzlichen nachkommastellen herkommen."
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
RiSiNG
Beiträge: 92
Registriert: 18.06.2006 10:31
Kontaktdaten:

Beitrag von RiSiNG »

StrF wollte ich ja nutzen... aber dies funktioniert auch nicht wirklich da ich nur am Anfang nen String zur Verfügungung habe. Ich möchte Rechnungen durchführen (Geld), daher hatte ich die 2 Stellen benötigt.
Aber mir ist etwas anderes eingefallen. ^^
Antworten