[gelöst] Rundung einer Text Variablen

9. November 2011 09:10

Hallo ist es möglich eine Text Variable, die eine Zahl ausgibt, auf 2 Stellen nach dem Komma abzurunden?

Dies ist der Code:
Code:
IF (Anzahl_Ja + Anzahl_Nein) > 0
THEN TerminBerechnung := FOMRAT(Anzahl_Ja/(Anzahl_Ja+Anzahl_Nein)*100) + ' %';
Zuletzt geändert von misterelektro1981 am 9. November 2011 14:25, insgesamt 3-mal geändert.

Re: Rundung einer Text Variablen

9. November 2011 09:31

Bearbeite die Zahl vorher mit dem Round-Befehl.

Re: Rundung einer Text Variablen

9. November 2011 09:55

Das hatte ich bereits vorher mit
Code:
IF (Anzahl_Ja + Anzahl_Nein) > 0
//THEN TerminBerechnung := FORMAT(Anzahl_Ja/(Anzahl_Ja+Anzahl_Nein)*100) + ' %';
THEN TerminBerechnung2 := (Anzahl_Ja/(Anzahl_Ja+Anzahl_Nein)*100);
TerminBerechnung2 := 1234.56789;
Direction := '=';
Precision := 0.01;


versucht. Ich bekomme dann aber die Meldung
Sie haben eine unbekannte Variable angegeben.
Direction usw...

Wenn selbst das klappen sollte, wie kann ich denn dann daraus einen Text machen mit einem % Zeichen am Ende?

Re: Rundung einer Text Variablen

9. November 2011 09:59

Lies die C/Side-Hilfe zu Round doch mal bis zum Ende, da stehen auch Beispiele, wie man das mit Direction und Precision macht ... wie man nachher einen String draus macht und ein % dran hängt, hast du oben doch schon geschrieben.

Re: Rundung einer Text Variablen

9. November 2011 10:11

Das habe ich nun verstanden.... Die Rundung klappt schon mal. Wie bekomme ich denn jetzt das % Zeichen am Ende hin???

Re: Rundung einer Text Variablen

9. November 2011 10:27

Guck mal in deinen ersten Beitrag. Hinter "THEN".

Re: Rundung einer Text Variablen

9. November 2011 12:47

Oh Mann danke, wußte garnicht das es so leicht zu realisieren ist...

Re: Rundung einer Text Variablen

9. November 2011 13:26

Jetzt ist mir doch noch etwas aufgefallen.

Bedingt durch diesen Code:
Code:
IF (Anzahl_Ja + Anzahl_Nein) > 0
THEN TerminBerechnung2 := (Anzahl_Ja/(Anzahl_Ja+Anzahl_Nein)*100);
TerminBerechnung3 := ROUND(TerminBerechnung2);
TerminBerechnung := FORMAT(TerminBerechnung3) + ' %';


erfolgt die Berechnung. Habe ich nun keine Einträge (also keine Anzahl_Ja oder Azahl_Nein) dann sollte ja nichts ausgegeben werden. Stattdessen wird 0% ausgegeben.

Da ich jedoch mehrere Gruppen habe für die diese Daten für eine weitere Berechnung benötigt werden, muss ich dies irgendwie rausbekommen. Wie kann ich diese 0% Ausgabe unterdrücken zu dem obigen Code?

Re: Rundung einer Text Variablen

9. November 2011 13:53

if ... >0 then begin ... end ... else

Re: Rundung einer Text Variablen

9. November 2011 14:25

Ja, mal wieder das übliche...

Ich werds wohl nie richtig lernen.

Re: Rundung einer Text Variablen

9. November 2011 14:59

misterelektro1981 hat geschrieben:Ja, mal wieder das übliche...

Ich werds wohl nie richtig lernen.

Kleiner Tipp:
Wenn du IF ... THEN schreibst, dann vervollständige es immer sofort zu einem
Code:
IF ... THEN BEGIN
END ELSE BEGIN
END;

So vergisst du garantiert kein BEGIN und auch kein END mehr.