Hallo alle zusammen,
habe ein Problem mit dem runden bzw Variable in
ganze Zahl um zuwandeln.
Dim Grad As Single
Dim Auswahl As Single
in der Variablen Grad steht z.B. die Zahl 338.123456789
diese möchte ich in die Variable Auswahl als ganze Zahl
speichern. Versucht habe ich es mit Auswahl = Int(grad)
bekomme aber dann als Ergebnis 338.0
Mit diesem Wert kann ich dann mit
Select Case Auswahl
Case 60 Print "60Grad"
Case 120 Print "120Grad"
Case 180 Print "180 Grad"
End Select
nicht weiter machen.
Hat jemand eine Idee wie man das lösen kann?
Viele Grüße Helmut
Gast
#2453368
Wozu brauchst du bei Temperaturen überhaupt Floatingpoint Variablen? Du verschenkst nur Genauigkeit wegen des Speicherbedarfs des Exponenten ;-) Und ein "="-Vergleich mit Floating-Point geht meist sowieso schief, d.h. ist bis auf wenige Ausnahmen (z.B. 0.0) kaum erfolgreich, wenn du nicht sehr genau weißt, was du tust. Wie so damit Select funktionieren? Mit 16-Bit Integervariablen bist du für Temperaturen i.A. besser gerüstet. (Einheiten von 1/10°C, 1/100°C, 1/16°C, 1/256°C oder ...)
Gast
#2453375
Helmut K. schrieb: > Hat jemand eine Idee wie man das lösen kann? Was möchtest du denn erreichen? Bei 60.0000°C, wenn es das als Single-Zahl überhaupt genau gibt, den Text "60 Grad" auszugeben, bei 59.9999 oder 60.0001 aber nicht, ist wohl wenig praktisch.
Schau mal in der Hilfe nach Round. var = ROUND( x ) Klaus
Hallo Dann mach doch einfach Auswahl als Word od. Integer MfG
Gast
#2453383
dim Auswahl as Integer Auswahl = Grad 'das schneidet dann die Nachkommastellen ab besser: Grad = Grad + 0.5 Auswahl = Grad 'Rundet auf eine Nachkommastellee
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.