![]() |
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 |
AW: Keine minuswerte anzeigen bei Prozentrechnung
@rhodan
Sorry, ich dachte du willst nur, dass die Zahl immer positiv ist. Dafür ist die Funktion Abs gedacht. Sie entfernt sozusagen das negative Zeichen. Zu der Funktion
Delphi-Quellcode:
. Die kannte ich zugegeben bisher selber nicht. Das ist ja fast wie bei Excel mit WENN. WENN(Bedingung, Wenn erfüllt, Sonst).
IfThen
|
AW: Keine minuswerte anzeigen bei Prozentrechnung
@ Sir Rufo
..nicht gleich so aggressiv:shock: ich hab bis heute noch nie die F1 hilfe benutzt, bin nie darauf gestossen bzw wusste es nicht...hab sie grad mal getested und sie scheint nützlich zu sein, werde sie in zukunft sicherlich benutzten..und generell bin ich jemand der zuvor google benutzt oder der mit der suche nach threads vertraut ist...auch wenn es nicht so scheint da ich recht viele threads eröffnet habe in den letzten 48 stunden, würde ich mich doch als jemanden bezeichnen der zuerst versucht selbst eine lösung zu finden und sich umschaut.. ich halte nichts davon wenn andere meine arbeit machen, und wenn mir doch jemand code vorkaut der funktioniert dann bin ich sehr dankbar und versuche jedesmal zu verstehen wie das genau funktioniert anstatt zu kopieren und einzufügen und mich nicht weiter drum zu kümmern:? ich versuche mich schon delphi technisch weiterzubilden, also verurteile mich bitte nicht nur weil ich mal ne direkte frage zu nem code stelle der geposted wurde...:shock: @ popov danke dir trotzdem, danke für deine unterstützung |
AW: Keine minuswerte anzeigen bei Prozentrechnung
Auch wenn ich das nicht so recht glauben kann hier noch ein spezieller Hinweis, falls es doch so sein sollte:
Unter Windows ist die Funktionstaste F1 als Hilfe-Taste quasi Standard und funktioniert nicht nur in der Delphi-IDE. Auch andere bekannte Standard-Programme (z.B. Office-Pakete) haben diese Funktion auch mit Leben gefüllt, oft sogar auch noch kontext-sensitiv. Speziell die Delphi-IDE bietet hier aber noch wesentlich mehr um das Programmieren zu erleichtern und es macht immer Sinn einen Blick in die Dokumentation zu werfen um sich alleine mit der Bedienung der IDE besser zu befassen. |
AW: Keine minuswerte anzeigen bei Prozentrechnung
Hallo,
Zitat:
Seit wann ist konstruktive(!) Kritik aggressiv? Zitat:
Weltweit unterziehen sich täglich Programmierer (auch die von Delphi!) der mühevollen und lästigen Pflicht, Online-Hilfen sowie Handbücher/Dokumentationen für Ihre Produkte zu erstellen und scheinbar nutzt sie kaum jemand. Irgendwie ist das extrem frustrierend. Beste Grüße Mathematiker |
AW: Keine minuswerte anzeigen bei Prozentrechnung
@ himi
Betr. Post #7 Lass Tote ruhen, Larsi hat schon genug gelitten. Ich gebe allerdings zu, dass ich den Vorgang lange als PDF gesichert haben. Mathematisch für Grundlagen- Forschung auf jeden Fall lesenswert.:-D //OT :detlefH hat heute Geburtstag Liebe Grüße Wolfgang //OT |
AW: Keine minuswerte anzeigen bei Prozentrechnung
Zitat:
![]() Das liegt wohl daran, dass er zu viel auf Stackoverflow unterwegs is :lol: |
AW: Keine minuswerte anzeigen bei Prozentrechnung
Zitat:
Wo ist die Zeit wo man auf die Gefühle von Männern pfeifen konnte. Vorbei, vorbei... |
AW: Keine minuswerte anzeigen bei Prozentrechnung
Ich seh da nicht's agressives, meiner Meinung nach hat er den Nagel zu 100% genau getroffen.
Es gibt 3 Sorten von Menschen: a) Sie suchen als erstes die Hilfe-Taste (nicht immer F1!) und den Menue-Eintrag für die Hilfe. b) Nachdem man sie darauf hingewiesen hat, daß es eine Hilfe gibt, nutzen sie sie auch und sind manchmal dankbar für den Hinweis. c) Sie kontern den Hinweis auf die Hilfe mit "Das Programm muß selbsterklärend sein" Gruß K-H |
AW: Keine minuswerte anzeigen bei Prozentrechnung
Zitat:
|
AW: Keine minuswerte anzeigen bei Prozentrechnung
g) Haben keine Lust und lassen es lieber Andere machen
|
AW: Keine minuswerte anzeigen bei Prozentrechnung
Zitat:
Zitat:
Sorry für's OT. |
AW: Keine minuswerte anzeigen bei Prozentrechnung
Zitat:
|
AW: Keine minuswerte anzeigen bei Prozentrechnung
Wie wärs mal damit (nur so hingetippt ohne Überprüfung)?
Delphi-Quellcode:
var
c_ziel, c_Umsatz, c_Prozent: Currency; begin if TryStrToCurr(Monatsziel.Text,c_ziel) and TryStrToCurr(Umsatz.Text,c_umsatz) then begin c_Prozent:= c_ziel/100*40 - c_Umsatz; if c_Prozent >=0 then provi1togo.Caption:= CurrToStrF(c_Prozent, ffGeneral, 2) else provi1togo.Caption:= 'Umsatzziel erreicht'; end else ShowMessage('Geben Sie gültige Werte ein'); end; |
AW: Keine minuswerte anzeigen bei Prozentrechnung
[total offtopic]
“There are two kinds of people in the world, those with loaded guns, and those who dig. You dig.” - Clint Eastwood, 1966, “The Good, The Bad and The Ugly” (Il Buono, il Brutto, il Cattivo) und aus dem gleichen Film: There are two kinds of people in the world, my friend: Those with a rope around the neck, and the people who have the job of doing the cutting. There are two kinds of spurs, my friend. Those that come in by the door; those that come in by the window. [/total offtopic] :wink: |
AW: Keine minuswerte anzeigen bei Prozentrechnung
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:24 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