Allgemeine Fragen zur PROFAN Programmierung
Views (Heute): 249580 (11016)
  Suchen
 Zurück zur Übersicht
 AutorThema: Probleme bei Integer Variablen
Hendrik
Datum:05.07.01 21:17 Antwortenals Email verschicken (hendriklenz@gmx.de) 


Hallo,

ich zerbreche mir schon seit Tagen den Kopf über die Integer Variablen von Profan dabei habe ich etwas seltsames entdeckt:

wenn ich die folgenden Code schreibe:

cls
Decimals 2
Declare test&
let test&=@div(@val("50000000099"),100)
print test&
print @div(@val("50000000099"),100)

dann wird beim anzeigen der Variable 5000000 angezeigt und beim direkten anzeigen nach dem umrechnen 500000000.99 ?!?

Richtig ist das 2. Ergebnis aber warm klappt das mit der Variable nicht. ICh muss Variablen benutzen da ich mathematische Funktionen durchführe und die Ergebnise in Datenbanken und Variablen (Integer) speichern muss!

Wer weiß hier einen Rat?

Vielen Dank und Grüße

Hendrik


Frank Abbing
Datum:05.07.01 22:04 Antwortenals Email verschicken (frankabbing@12move.de) 


Hallo,

Warum das so ist, weiß ich leider auch nicht, aber vielleicht solltest du zum Rechnen besser Fließkommazahlen verwenden, die sind doch genauer.

Bis dahin,

Frank


Roland G. Hülsmann
Datum:05.07.01 22:52 Antwortenals Email verschicken (rgh-soft@t-online.de) 


Ganz einfach:

INTEGER-Variablen können - wie der Name schon sagt - nur Integer-Zahlen, also Ganzzahlen, aufnehmen. Die haben nun mal keine Nachkommastellen. Und wird das Ergebnis einer Berechnung in einer Integervariablen gespeichert, werden alle Nachkommastellen abgeschnitten.

Für Fließkommazahlen (Zahlen mit Nachkommastellen) sind die Fließkommavariablen, die FLOAT-Variablen, mit dem Ausrufezeichen zu verwenden!


Hendrik
Datum: 05.07.01 23:18 Antwortenals Email verschicken (hendriklenz@gmx.de) 


Ja das klappt jetzt auch soweit, ich habe nur noch ein Problem:

@AddString(auswahl%,@add$("Nr.",add$(&dbRecNo,@add$(" -DM ",@Str$(@Round(@Div(@Val(@dbget$("Betrag")),100),2))))))

Das Datenbankfel enthält eine 11 stellige Zahl im Interpreter-Modus wird diese Korrekt angezeigt aber compiliert als EXE-Datei werden nur 10 Ziffern dargestellt?!?

Woran liegt denn das jetzt noch ?!?

Vielen Dank und Grüße HEndrik


 Zurück zur Übersicht