PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Anzahl Nachkommastellen eines "Single"



filth
20.06.2009, 12:22
Hallo,

ich definiere eine Variable:


Dim Summe As Single

diese wird mit einem Wert belegt und soll später auf einem LCD ausgeben werden. Dabei soll aber nur eine Nachkommastelle erhalten bleiben.

Frage:
Wie kann ich die restlichen Nachkommastellen abschneiden, so dass nur eine übrig bleibt?

Danke!

Willa
20.06.2009, 12:48
z.B. so:

single=2.335345
single=single*10
single = ROUND( single )
single=single/10

==> Single = 2.3

filth
20.06.2009, 13:32
Hey,

danke - es klappt, allerdings komischerweise nur beim ersten Durchlauf meines Loops. Ich hänge den Ausschnitt mal an, vielleicht siehst du den fehler?


Do
Summe1 = 0
Summe2 = 0

N = 0

Do
Temp1 = Readfront()
Temp2 = Readback()

Summe1 = Summe1 + Temp1
Summe2 = Summe2 + Temp2

Waitms 50
Incr N
Loop Until N = 3


Summe1 = Summe1 / N
Summe2 = Summe2 / N


'nachkommastellen entfernen
Summe1 = Summe1 * 10
Summe1 = Round(summe1)
Summe1 = Summe1 / 10

Summe2 = Summe2 * 10
Summe2 = Round(summe2)
Summe2 = Summe2 / 10

Locate 1 , 4
Lcd Summe1
Locate 2 , 4
Lcd Summe2

Loop


Grüße
Alex

chw9999
20.06.2009, 19:12
Oder spendiere Dir eine Stringvariable und schaue Dir den FUSING-Befehl in der Hilfe an. Vorteil: der ursprüngliche Wert der Single-Variablen belibt erhalten und Du gibst nur den formatieren Wert an die Stringvariable und dann ans LCD weiter.



$SIM
dim MySingle as Single
dim MyString as String * 10
MySingle=12345.67890
MyString=fusing(MySingle,"#.#")
config LCD=16*2
cls
LCD MyString

do
loop
end

Cheers
Christoph