elkokiller
21.07.2010, 14:55
Hallo,
ich habe einen Wert z.B. 40,37.
Um den Wert seriell übertragen zu können muss ich ihn in das Format Byte bringen.
Da der Zehnerwert immer <100 ist, ist das kein Problem:
dim wert as integer
wert = "40,37"
dim zehner as byte
zehner = wert
Übertragen wird jetzt die 40.
Für die Nachkommastelle hatte ich vorgeshen:
dim nachkomma_temp as integer
dim nachkomma as byte
nachkomma_temp = wert - zehner ' macht 0,37
nachkomma_temp = nachkomma_temp * 100 'macht 37,0
nachkomma = nachkomma_temp
Merkwürdigerweise kommt nun aber bei allen Werten > 26 kein richtiger Wert mehr an.
Offensichtlich hängt das Programm beim Umwandeln eine 0 an wodurch ich den Wert 260 bekomme was bei Byte natürlcih nicht geht.
Hat jemand eine andere Lösung?
ich habe einen Wert z.B. 40,37.
Um den Wert seriell übertragen zu können muss ich ihn in das Format Byte bringen.
Da der Zehnerwert immer <100 ist, ist das kein Problem:
dim wert as integer
wert = "40,37"
dim zehner as byte
zehner = wert
Übertragen wird jetzt die 40.
Für die Nachkommastelle hatte ich vorgeshen:
dim nachkomma_temp as integer
dim nachkomma as byte
nachkomma_temp = wert - zehner ' macht 0,37
nachkomma_temp = nachkomma_temp * 100 'macht 37,0
nachkomma = nachkomma_temp
Merkwürdigerweise kommt nun aber bei allen Werten > 26 kein richtiger Wert mehr an.
Offensichtlich hängt das Programm beim Umwandeln eine 0 an wodurch ich den Wert 260 bekomme was bei Byte natürlcih nicht geht.
Hat jemand eine andere Lösung?