![]() |
Stellen eines Integer Wertes begrenzen
Wie kann man die Stellen eines Integer Wertes begrenzen???(zb 0,0105432 begrenzen auf 2 Stellen hinter dem Komma = 0,01 !!!
|
Re: Stellen eines Integer Wertes begrenzen
Hi,
Integer ist nur für Ganzzahlen und nicht für Kommazahlen gedacht. Du kannst Dir aber einen eigenen Typ für Ganzzahlen erstellen
Delphi-Quellcode:
mfG
type
TMyIntegerType = 1..20; // von 1 bis 20 mirage228 |
Re: Stellen eines Integer Wertes begrenzen
Erstmal ist natürlich richtig, dass ein Ganzzahldatentyp keine Kommastellen speichert. Für Fließkommadatentypen (z.B. Single) gibt's die Funktion FormatFloat.
|
Re: Stellen eines Integer Wertes begrenzen
Zitat:
Dann kannst du es so machen:
Delphi-Quellcode:
For example:
FloatToStrF(Zahl, Format, Genauigkeit, Kommastellen);
Delphi-Quellcode:
MfG Marc
Ergebnis := Zahl1 / Zahl2;
Label1.Caption := FloatToStrF(Ergebnis, ffNumber, 8, 2); |
Re: Stellen eines Integer Wertes begrenzen
Hi. Willst du die Zahl runden auf zwei Stellen? Dann schaue dir mal System.Math.Round() an. Da kann man angeben, auf wie viele Stellen man runden will.
Man liest sich, Stanlay :hi: |
Re: Stellen eines Integer Wertes begrenzen
Cheggas Lösung kann ungenau sein, such hier mal nach [dp]kaufmännisch* runden[/dp].
|
Re: Stellen eines Integer Wertes begrenzen
gut...
außer dem kaufmännischen runden (ab einer 5 wird aufgerundet) gibt es noch das.... ähm... "dingsbumsianische" runden, das mit round() funktioniert. das rundet immer ab! dann für ne nachkommastelle wär doch der variablentyp "double" nicht schlecht, oder? |
Re: Stellen eines Integer Wertes begrenzen
Die Format Funktion solltest du dir auch mal angucken
|
Re: Stellen eines Integer Wertes begrenzen
Zitat:
Allerdings bringt das hier nicht viel, da ja gerundet wird und nach einer bestimmten Nachkommastelle der Rest "abgeschnitten" bzw. gerundet werden soll. :wink: Da reicht auch ein "normaler" Real, oder evtl. sogar Single (kann man ja mal ausprobieren). MfG Binärbaum |
Re: Stellen eines Integer Wertes begrenzen
Zitat:
Andere sagen, dass real intern als double gehandhabt wird. Wie ist das denn nun genau? |
Re: Stellen eines Integer Wertes begrenzen
Hi ELWOOD,
wie wärs denn damit: a := 0.01232345; a := Trunc(a * 100) / 100; //ab 3.ter Stelle abschneiden oder a := Trunc(a * 100 + 0.5) / 100; //an 3.ter Stelle runden Gruß Michael |
Re: Stellen eines Integer Wertes begrenzen
Zitat:
Anmerkung: Ich glaube mich zu erinnern, dass Real ein generischer Typ ist, und dass damit also die Größe und Genauigkeit dieses Typs je nach Delphi-Version verschieden sein kann. Also im Zweifelsfall sollte man besser Single oder Double verwenden. [Edit2] Und dann gibt es ja noch den Typ Extended für alle, denen Double noch nicht reicht. Extended ist 10 Byte groß. [/Edit2] MfG Binärbaum //Edit1: Tippfehler korrigiert |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:58 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