closed

Loginbox

Please enter your username and password into the following fields to log in.


  • Username:
  • Password:
  •  
  • Auto log in on every visit.


  •  

funktioniert der Befehl FRAC bei float?

Grafik Display versteht kein float

tbegle offline
Benutzer
Avatar
Gender: n/a
Location: n/a 
Age: 60
Posts: 60
Registered: 01 / 2018
Private message
Subject: funktioniert der Befehl FRAC bei float?  -  Posted: 14.09.2020 - 12:16   -  
Hallo Power User,

Mein Grafik Display versteht kein float!

Ich möchte nun doch die Temp. zumindest mit einer Nachkommastelle anzeigen

HDC_T := 165.00 * float(WO)/65536-40; // calculate the temperature in float!
HDC_Tw := word(HDC_T); // für das Display in °C ok
nk := word(frac(HDC_T)); // Nachkommastelle F! (0)
write(serout,'PAR.n28.val='+intToStr(nk:1)+E); // nicht angezeigt!

Gruss
Toni
go down go up
Harry offline
PowerUser
Avatar
Gender: male
Location: GERMANY  zwischen Augsburg und Ulm
Age: 55
Posts: 1663
Registered: 03 / 2003
Private message
Subject: Re: funktioniert der Befehl FRAC bei float?  -  Posted: 14.09.2020 - 13:39   -  
Hi Toni,

das geht einfacher:
Code

Var Temp:Integer;
    Temperatur:Float;

Temp:=Trunc(Temperatur*10);
.... IntToStr(Temp:5:1:' ');

Ausgabe Temp mit gesamt 5 Stellen und einer Nachkommastelle. D.h. 3 Vorkommastellen, der Punkt und die Nachkommastelle = 5 Stellen. Du kannst auch vorher noch Round zum runden verwenden.

Gruss
Harry

[Edit]Sollte auch direkt gehen:
Code
FloatToStr(Temperatur:5:1:' ');

..... mit dem ' ' wird immer mit 5 Stellen ausgegeben und mit Leerzeichen vorneweg aufgefüllt.
Elektronik arbeitet mit Rauch - wenn man den Rauch raus läßt, funktioniert es nicht mehr.
Electronics works with smoke - if you let the smoke out, it works no longer.
This post has been edited 2-times. Last edit: 14.09.2020 - 13:43 by Harry.
go down go up
tbegle offline
Benutzer
Avatar
Gender: n/a
Location: n/a 
Age: 60
Posts: 60
Registered: 01 / 2018
Private message
Subject: Re: funktioniert der Befehl FRAC bei float?  -  Posted: 15.09.2020 - 11:15   -  
Danke Harry mit trunc funktioniert es super - aber mit dem Nextion Display, da es neben float auch kein Komma versteht, musste ich
Temp z.B. 24.6 '.' als Text! + Nachkommastelle (isolieren! - ein Gewürge!)

Einen schönen Tag
Toni
go down go up
pvs-deck offline
PowerUser
Avatar
Gender: male
Location: GERMANY 
Age: 49
Posts: 1128
Registered: 02 / 2009
Homepage Private message
Subject: Re: funktioniert der Befehl FRAC bei float?  -  Posted: 15.09.2020 - 15:28   -  
Hallo Toni,

Schau mal im Handbuch unter Kapitel 4.14:
Quote
4.14.1 Dezimal Separator
Diverse String Konvertierungen arbeiten mit einem Dezimal Punkt. Dieser Dezimal Punkt ist standardmässig das Zeichen ”.” Dieses Zeichen kann redefiniert werden, z.B. zum ”,” um speziellen Anforderungen gerecht zu werden. Hierzu muss im Define Block folgendes Statement eingefügt werden:
Define DecimalSep = ‘.‘;


Hier findest Du viele Möglichkeiten um eine einfache Formatierung zu machen, ohne "Gewürge"

Thorsten
---------------------------------------------------------
Nichts ist unmöglich in der Elektronik und der Software, die Grenzen
setzt nur das Budget, Zeit und der Entwickler! ( P V S - D E C K )
This post has been edited 1-times. Last edit: 15.09.2020 - 15:28 by pvs-deck.
go down go up
 


Registered users in this topic
Currently no registered users in this section

Delete cookies of this forum  •  FAQ / Help  •  Team page  •  Imprint   |  Local time: 26.09.2020 - 19:20