![]() |
Kommazahlen
Hallo
Ich schreib gerade mal wieder an einem kleinen Programm für die Schule. Berechnet werden soll der BMI. Nun lasse ich Gewicht und Größe als Daten vom Typ real eingeben. Wenn ich dann den BMI errechnen lasse, dann kommt eine relativ große Kommazahl heraus, die ich gern auf zwei oder drei Zeichen hinter dem Komma beschränken würde. Hat einer einen Rat. Ich weiß das ich soetwas schon im Lehrbuch der Schule gesehen habe, aber ich bin ja momentan nicht in der Schule. |
Re: Kommazahlen
Sieh mal in der OH nach Format.
|
Re: Kommazahlen
Oder
![]() |
Re: Kommazahlen
Wenn du diese Zahl auf 2 nachkommastellen haben willst dann multipliziere mit 100, runde und zum schluss teile durch 100.
PS. Ich weiss nicht ob es in Delphi eine Vorgefertigte Komponente gibt die dies tut, aber dieses klappt auch! |
Re: Kommazahlen
Hi!
Da du die Zahl ja wohl als String ausgaben willst, kann ich dir auch das empfehlen:
Delphi-Quellcode:
10 sind die Stellen vor dem Komma, zwei die danach.
edit1.Text:=FloattostrF(bmi, FFfixed, 10,2);
Ich hoffe ich hab keinen Fehler drin, iss außem Kopf. Ciao fkerber |
Re: Kommazahlen
Super das funktioniert schon mal. Die Forumsuche hatte ich schon vorher ausprobiert, hab aber wohl nicht die richtigen Suchbegriffe eingegeben. Nun hab ich ein weiteres Problem. Und zwar habe ich einen Zahlenbereich den ich mit einer if-then-else Anweisung verknüfen möchte. Ich habe einen BMI-Wert von unter 20, dann einen von 20-24, dann von 24-30, 30-39 und dann größer als 39. Wie kann ich die Zahlenbereiche 20-24,24-30 und 30-39 in solch eine Anweisung einbauen???
Mein bisheriger Quellcode dazu der allerdings nicht funzt:
Delphi-Quellcode:
if bmi<20 then begin label5.caption:='Sie haben untergewicht.'; end else
if bmi=20..25 then begin label5.caption:='Sie haben Normalgewicht.'; end else if bmi=24..29 then begin label5.caption:='Sie haben leichtes bis mittelmäßiges Übergweicht.'; end else if bmi=29..39 then begin label5.caption:='Sie haben deutliches Übergewicht.'Self; end else if bmi>39 then begin label5.Caption:='Sie haben sehr starkes Übergewicht.'; end; |
Re: Kommazahlen
Hi!
Normalerweise gilt, neue Frage neuer Thread aber ich geb dir mal noch ne Antwort :) Versuchs mal mit
Delphi-Quellcode:
Das müsste gehen.
if bmi in [20..24] then ...
Ciao fkerber |
Re: Kommazahlen
Leider funzt
Delphi-Quellcode:
ee nicht, da es sich nicht um integer Werte handelt sondern um real. Gibt es soetwas auch für real???
if bmi in [20..24] then ...
Ich wollte keinen neuen Thread aufmachen, da ich alles in einem Thread haben wollte. |
Re: Kommazahlen
Hi!
Dann mach es eben so:
Delphi-Quellcode:
Ciao fkerber
if ((bmi>20) and (bmi<24)) then ...
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:35 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