OSCAT Forum

oscat.lib => oscat.lib fuer TwinCAT/CoDeSys => Thema gestartet von: McNugget2000 am 02. Dezember 2009, 15:09:32

Titel: Real-Werte um "0" runden?
Beitrag von: McNugget2000 am 02. Dezember 2009, 15:09:32
Hallo allerseits,

mit welchen Funktionen kann ich REAL-Werte, die um "0" liegen, beschneiden und ohne exponeneten anzeigen lassen?

Beispiel: -0.000002 wird zu "-7.e-002" oder so. Das ist nicht besondern gut lesbar.
Zudem würde mir in diesem Fall -0.00 vollkommen reichen.

Ich bräuchte es eben auf X Nachkommastellen abgeschnitten und gerundet und nicht in der Exponentialanzeige.

Hat die Oscat.lib da etwas?



Gruss

McNugget
Titel: Re:Real-Werte um "0" runden?
Beitrag von: hugo am 02. Dezember 2009, 15:20:13
dazu gibt es folgende funktionen:
round rundet auf n stellen nach dem komma.
rnd rundet auf n stellen genauigkeit.
darstellung in exponent usw hat nichts mit runden und real zu tun, sondern vielmehr mit umwandlung in string. der real selbst kennt keine darstellungsvarianten.

zur umwandlung von real to string mit n stellen kannst du folgende funktion verwenden:
real_strf

wenn du real werte mit n stellen genauigkeit vergleichen willst benutzt du die funktion cmp(X,Y,N)
X und Y sind 2 real zahlen zum vergelichen und N sind die anzahl der stellen die du vergleichen möchtest.

alle diese funktionen findest du in der oscat standard lib