Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Auslesen eine Zahl aud einem Edit Feld (https://www.delphipraxis.net/205383-auslesen-eine-zahl-aud-einem-edit-feld.html)

akazukilp 3. Sep 2020 13:24

Delphi-Version: 5

Auslesen eine Zahl aud einem Edit Feld
 
Hallo zusammen,

Ich bin anfänger mit Delphi und muss aus einem Editfeld eine Zahl auslesen die dann 2 anderen Editfelder sagt auf wie viele nachkommastellen sie runden müssen.

Grüsse Basti

runningsoft 3. Sep 2020 13:32

AW: Auslesen eine Zahl aud einem Edit Feld
 
Du definierst im Kopf Deiner Prozedur oder Funktion eine Variable als Integer (falls im Editfeld eine Ganzzahl steht):

var MeineZahl : integer;

Und liest in der Prozedur oder Funktion Dein Editfeld mit:

MeineZahl := StrToInt(Edit1.Text);

aus.

scrat1979 3. Sep 2020 13:35

AW: Auslesen eine Zahl aud einem Edit Feld
 
Etwas mehr Information wäre hilfreich bezüglich des Programmes. Für Zahlen ohne Nachkommestelle würde sich auch ein SpinEdit anbieten, dann sparst du dir die Überprüfung ob es sich um eine gültige Zahl handelt.

Zur Frage (ohne Fehlerbehandlung)

Delphi-Quellcode:
VAR Zahl : Integer

[...]

Zahl := StrToInt(Edit1.Text);
EDIT: Da war jemand schneller. Aber doppelt hilft besser :)

akazukilp 3. Sep 2020 13:43

AW: Auslesen eine Zahl aud einem Edit Feld
 
Zitat:

Zitat von scrat1979 (Beitrag 1472901)
Etwas mehr Information wäre hilfreich bezüglich des Programmes. Für Zahlen ohne Nachkommestelle würde sich auch ein SpinEdit anbieten, dann sparst du dir die Überprüfung ob es sich um eine gültige Zahl handelt.

Zur Frage (ohne Fehlerbehandlung)

Delphi-Quellcode:
VAR Zahl : Integer

[...]

Zahl := StrToInt(Edit1.Text);
EDIT: Da war jemand schneller. Aber doppelt hilft besser :)

Hi also im ersten Feld edit1 wird eine Zahl mit Kommastellen geschrieben im edit 2 gibt man ein auf wie viele stellen ma es gerundet haben will(mit einer 2 zum beispiel) und das soll sie im Feld edit 3 als Kaufmännische Zahl und im Edit vier mit round in eine Mathematisch gerundete zahl verwandelt werden
Gruss Basti

TurboMagic 3. Sep 2020 16:36

AW: Auslesen eine Zahl aud einem Edit Feld
 
Hallo,

in der Unit Math gibt es eine Methode RoundTo.
Mit der kann man Fließkommazahlen runden.

Und was ist mit kaufmännischer Zahl gemeint?
Der Datentyp Currency?

Ein Ansatz könnte sein, die eingegebene Zahl erstmal mittels
StrToFLoat in eine Fließkommazahl umzuwandeln:

Delphi-Quellcode:
var
  sing: Single;
begin
  sing := StrToFloat(Edit1.Text);

  // und hier jetzt mittels RoundTo in eine andere Fließkommazahl umwandeln und ausgeben
  // und in eine kaufmännische
end;
Soweit mal ein erster ANsatz. Deine Hausaufgabe lösen wir dir schließlich nicht ganz sondern versuchen
dich nur auf den richtigen Weg zu bringen. Außerdem wissen wir ja nicht, was ihr alles schon durchgenommen
habt, was du also nutzen kannst.

Grüße

TurboMagic

himitsu 3. Sep 2020 16:52

AW: Auslesen eine Zahl aud einem Edit Feld
 
Delphi-Referenz durchsuchenCurrency ist nur ein Speichertyp, der bis 4 Nachkommastellen keine Rundungprobleme hat, so wie die anderen Fließkommatypen, da er intern eigentlich ein "verschobener" Int64 ist.

https://de.wikipedia.org/wiki/Rundun...nisches_Runden
https://debitoor.de/lexikon/runden

Kaufmännisches Runden ist quasi eine statistisch "gerechtere" Art zu Runden, denn wenn man "ab 0,5 immer aufrundet", dann hat jemand Nachteile, da der Teil "ab 0,5" größer ist, als der "unter 0,5".


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:18 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz