
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
Hallo, noch schnell eine Sünde im alten Jahr. > Ich würde das mit Kommazahlen durch eine Skalierung machen: > > 165 als Kommazahl: > > a = 165 > aVorkomma = a / 100 > aNachkomma = a MOD 100 > > PRINT aVorkomma & "," & aNachkomma Vorsicht! Ganz so einfach geht es leider nicht. Sobald MOD < 10 ist, kommt dabei Mist raus (im Beispiel des Fragestellers kann das zwar nicht passieren, da der Ausgangswert vorher mit 50 multipliziiert wird und die letzte Stelle daher immer 0 ist, trotzdem...). Nehmen wir an der Wert laute 2011, dann würde bei dieser Methode das Ergebnis richtig mit 20,11 ausgegeben. Beträgt der Wert aber z.B. 2009, würde die Anzeige 20,9 ausgeben. Für solche Fälle ist eine Funktion angebracht: function showvalue_komma2() lcd.print value/100 & "," if (value mod 100) < 10 then lcd.print "0" & value mod 100 if (value mod 100) >=10 then lcd.print value mod 100 lcd.print " " end function Natürlich wäre es sinnvoll, den Wert hier als Parameter zu übergeben, das habe ich aus Gründen der Übersichtlichkeit weggelassen. Grüße und guten Rutsch ins neue Jahr Henrik Meine Homepage: http://www.henrik-reimers.de/control/ |
| Antwort schreiben |