![]() |
Keine minuswerte anzeigen bei Prozentrechnung
mittlerweile ist es mir fast peinlich..dies ist das letzte mal, aber ich muss euch noch einmal mit meinen berechnungsformeln nerven...
Hiermit zeige ich an wieviel € noch eingenommen werden müssen, bis 40% des Monatsziels erreicht sind (um Provision zu bekommen).
Delphi-Quellcode:
provi1togo.Caption.Text :=FloatToStr((StrToFloat(monatsziel.Text) /100*40- StrToFloat(Umsatz.Text)));
das klappt auch so wie es soll, die formel stimmt. nur zeigt sie eben auch Minuswerte an sobald man über den 40% ist, ich möchte das wenn der wert <= 0 ist, nur 0 € angezeigt wird. hab schon ein bischen probiert aber ich kriege da nur murks raus und komische ergebnisse wie -1E etc :lol: :lol: hat jemand ne idee? danach gibts keine neuen berechnungsformel threads mehr, ich schwöööörs :D bitte um hilfe... danke aus Hamburg |
AW: Keine minuswerte anzeigen bei Prozentrechnung
Mit der Funktion ABS() bekommst du den absoluten Wert.
Delphi hat noch weitere schöne Funktionen ;) TRUNC gibt den Intergerwert raus. ROUND ähnlich, rundet aber. INT schneidet Nachommastellen ab FRAC gibt nur die Nachkommastellen raus. FLOOR rundet ab usw. |
AW: Keine minuswerte anzeigen bei Prozentrechnung
wenn ich hier FloattoStr in ABS ändere bekomme ich ne fehlermeldung
Delphi-Quellcode:
:lol: den wald vor lauter bäumen mal wieder ?! :D
[DCC Fehler] Source.pas(259): E2010 Inkompatible Typen: 'string' und 'Extended'
|
AW: Keine minuswerte anzeigen bei Prozentrechnung
Du mußt den Wert mit ABS bearbeiten, also z. B. ABS(-42.1) ergibt 42.1, ABS(43.4) ergibt 43.4. In FloatToStr eingebaut würde das in etwa so aussehen:
Delphi-Quellcode:
FloatToStr(Abs(-42.1));
|
AW: Keine minuswerte anzeigen bei Prozentrechnung
hmmm...
Delphi-Quellcode:
provi1togo.Caption.Text :=FloatToStr(ABS(StrToFloat(monatsziel.Text) /100*40- StrToFloat(stand.Text)));
ergibt dann wenn ich die 40% um 100€ überschreite statt -100 wieder 100...aber wie reduziere ich den wert dauerhaft auf 0 € wenn er über 40% liegt? :S sorry popov wenn ich dir alles aus der nase saugen muss :( :( |
AW: Keine minuswerte anzeigen bei Prozentrechnung
Hi
Delphi-Quellcode:
var Differenz: Currency;
.... Differenz := StrToFloat(monatsziel.Text) /100*40- StrToFloat(Umsatz.Text); provi1togo.Caption.Text := FloatToStrF(IfThen(Differenz<0, 0, Differenz), ffCurrency, 18,2); //Alternativ if Differenz<0 then Differenz := 0; provi1togo.Caption.Text := FloatToStrF(Differenz, ffCurrency, 18,2); Nachtrag: Wegen deinem anderen Post in dem Du uns erklärst, dass dein Source nicht besonders gut ist... Entschuldige dich nicht dafür - mach ihn besser! Wenn Du Tipps brauchst, dann schick mir ne PN.... |
AW: Keine minuswerte anzeigen bei Prozentrechnung
Außerdem würde ich noch auf die OH hinweisen.
Und über die Codevervollständigung kommt man auch eine kleine Übersicht, was sich in so mancher Unit versteckt. Vorallem die Units SysUtils und vorallem Math könnten für dich interessant sein. PS: Falls dir langweilig ist und du einfach mal massig Rechenoperationen studieren willst: ![]() |
AW: Keine minuswerte anzeigen bei Prozentrechnung
lemmy... :shock: :shock:
bitte erklär mir das, ich will die magic verstehen..
Delphi-Quellcode:
Differenz := StrToFloat(monatsziel.Text) /100*40- StrToFloat(Umsatz.Text);
provi1togo.Caption.Text := FloatToStrF(IfThen(Differenz<0, 0, Differenz), ffCurrency, 18,2); funktioniert wie ein charm...perfekt...und wieso wird sogar das € zeichen hinter dem betrag angezeigt?? ich kann das aus dem code nicht rauslesen, liegt das am dem currency? das funktioniert 1A..
Delphi-Quellcode:
if Differenz<0 then
Differenz := 0; provi1togo.Caption.Text := FloatToStrF(Differenz, ffCurrency, 18,2); scheint etwas ungenauer zu sein, zumindest wird mir bei einem monatsziel von 20000 (40%=8000€) bei 7999 auch 0€ to go angezeigt...aber die erste variante ist genial...erklärt mir bitte wie das funktioniert...was ist dieses currency? ist das für das eurozeichen verantwortlich? ich liebe momente wie diese wenn ich auf dinge stosse (durch hilfe) die ich nicht verstehe und die genau das tun was ich haben will...wie funktioniert das??? :lol: ps: und was ist das 18,2 am ende??? 2 ist wohl die kommastelle aber das 18 ist mir ein rätsel |
AW: Keine minuswerte anzeigen bei Prozentrechnung
Warum wirfst du bei solchen Fragen "Wo kommt denn das €-Zeichen her?" nicht einfach mal einen Blick in die Online-Hilfe?
![]() ![]() |
AW: Keine minuswerte anzeigen bei Prozentrechnung
Zitat:
Zitat:
Grüße |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:06 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz