Forum: Mikrocontroller und Digitale Elektronik BASCOm runden auf 1/2 Grad-Schritte


von micha b (Gast)


Lesenswert?

Servus,

ich würde gerne einen errechneten Wert (Temperatur) auf 0,5° Schritte 
runden.

Mit "fusing" gehts soweit ich gekommen bin nur auf 1 Stelle hinter dem 
Komma, also z.B. 21,6°.

Ich hätte aber gerne in diesem Fall den Wert "21,5°" angezeigt, bei 
21,8° entsprechend 22.0°..

Was mir so einfallen würde ist "wert * 2" dann auf ganze Zahl runden, 
dann wieder halbieren.

Gibts nen eleganteren Weg?

Danke für die Hilfe beim "Finetuning",

Micha

von micha b (Gast)


Lesenswert?

Kennt da echt niemand einen eleganteren Weg? Oder gibts einfach keinen?

In Bascom gibts doch immer für jeden Pups ne Routine... :-)

von Torsten F. (tnetwork)


Lesenswert?

Mit FORMAT kannst du einen string runden.

von MWS (Gast)


Lesenswert?

Die Bascom Format-Anweisung rundet gar nix, die bringt nur in eine 
formatierte Form.

Man kann in diesem Fall auch nicht Fusing für's Runden benutzen, denn an 
der Stelle wo man runden sollte, also nach * 2, ist die Rechnung noch 
nicht zu Ende. Was kann man an dieser Stelle mit einem String anfangen ?

Das hier ist das Geeignete:
1
Dim T_Wert as Single
2
Dim T_String as String * 6
3
4
T_Wert = T_Wert * 2
5
  T_Wert = Round(T_Wert)
6
    T_Wert = T_Wert /2
7
      T_String = Fusing(T_Wert, "#.&")

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.