Hallo,
Um nun mal den Urschleim der Programmierung auf den Grund zu gehen, habe ich mich vor ca. 3 Wochen entschlossen asm zu erlernen. Bin also ein totaler Dau.
Warum schluckt die Funktion FloatToStr die x.0? Wenn ich eine 3.1 angebe ist es korrekt. Nun hätte ich aber gerne die x-te Stelle, auch wenn es eine 0 ist.
Gibt es vielleicht eine solche Funktion der ich sagen kann, wieviel Stellen ich benötige? Ich möchte mich aber noch nicht mit der FPU beschäftigen, da mir das noch zu heftig ist für den Anfang.
hier ist der Beispielcode:
.data
floatzahl dq 3.0
str1 db 32 dup(0)
.code
start:
invoke FloatToStr, floatzahl, ADDR str1
invoke MessageBox, 0, ADDR str1, 0, MB_OK
invoke ExitProcess, 0
; #########################################################################
end start
Gruß falangkinjau
FlotToStr
Moderatoren: crack, Krüsty, Marwin
- Marwin
- Moderator
- Beiträge: 307
- Registriert: Donnerstag 8. Mai 2003, 21:19
- Wohnort: Seelow, Deutschland
- Kontaktdaten:
Hallo falangkinjau,
ich kann dir in dieser Sache leider nicht weiterhelfen. Aber vielleicht könntest du nach der Umwandlung prüfen, ob ein Dezimalpunkt im String enthalten ist (wenn du weißt, dass du immer nur eine Nachkommastelle hast, dann reicht es, wenn du das vorletzte Zeichen des Strings überprüfst). Falls er das nicht ist, dann kannst du ".0" anfügen.
Grüße,
Marwin
ich kann dir in dieser Sache leider nicht weiterhelfen. Aber vielleicht könntest du nach der Umwandlung prüfen, ob ein Dezimalpunkt im String enthalten ist (wenn du weißt, dass du immer nur eine Nachkommastelle hast, dann reicht es, wenn du das vorletzte Zeichen des Strings überprüfst). Falls er das nicht ist, dann kannst du ".0" anfügen.
Grüße,
Marwin