AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

DIV Problem (Integer?)

Ein Thema von Decadoria · begonnen am 23. Mai 2011 · letzter Beitrag vom 23. Mai 2011
Antwort Antwort
Benutzerbild von Deep-Sea
Deep-Sea

Registriert seit: 17. Jan 2007
907 Beiträge
 
Delphi XE2 Professional
 
#1

AW: DIV Problem (Integer?)

  Alt 23. Mai 2011, 13:25
Um das Gleitkommaergebnis dieser Operation wieder in eine ganze Zahl zu wandeln hilft z.B. die Funktion Delphi-Referenz durchsuchenRound.
Wenn du eine Zahl mit / teilst, kommt nun mal eine Gleitkommazahl raus. Diese kann man nicht ohne weiteres einer ganzen Zahl zuweisen.
Also entweder du nutzt eine Funktion wie Round, wie ich ja schon sagte (auch wenn's scheinbar keiner gelesen hat ) oder du rechnest komplett mit Gleitkommazahlen und gibst das Ergebnis nicht mit FloatToStr sondern mit Delphi-Referenz durchsuchenFormat (o.ä.) aus. Dort kannst du dann immer noch bestimmen, wie viele Nachkommastellen du anzeigen willst.
Chris
Die Erfahrung ist ein strenger Schulmeister: Sie prüft uns, bevor sie uns lehrt.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.656 Beiträge
 
Delphi 12 Athens
 
#2

AW: DIV Problem (Integer?)

  Alt 23. Mai 2011, 13:26
Genau, durchgängig mit Fließkommazahlen rechnen und nur die Ausgabe auf ganze Zahlen beschränken.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Decadoria

Registriert seit: 23. Mai 2011
7 Beiträge
 
#3

AW: DIV Problem (Integer?)

  Alt 23. Mai 2011, 13:28
hmm ich versuchs mal xD

ich kenn Round nich
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.656 Beiträge
 
Delphi 12 Athens
 
#4

AW: DIV Problem (Integer?)

  Alt 23. Mai 2011, 13:30
Round
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Deep-Sea
Deep-Sea

Registriert seit: 17. Jan 2007
907 Beiträge
 
Delphi XE2 Professional
 
#5

AW: DIV Problem (Integer?)

  Alt 23. Mai 2011, 13:32
ich kenn Round nich
  1. Der Name ist ja auch so kompliziert gewählt, dass man sich nichts drunter vorstellen kann, gell?
  2. Eine Hilfe hat Delphi ja auch nicht.
  3. Soll heißen? Alles was du nicht kennst, willst du auch nicht kennenlernen? Damit wirst du nicht weit kommen
Chris
Die Erfahrung ist ein strenger Schulmeister: Sie prüft uns, bevor sie uns lehrt.
  Mit Zitat antworten Zitat
Decadoria

Registriert seit: 23. Mai 2011
7 Beiträge
 
#6

AW: DIV Problem (Integer?)

  Alt 23. Mai 2011, 13:37
aaaaa xD doch klar will ich das kennenlernen etc ^^ aber ich hatte mich auch ma über round informiert und hat trotzdem nix geklappt ^^ deswegen bin ich auf DIV gegangen was auch nich ging und dann war ich planlos xD
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.656 Beiträge
 
Delphi 12 Athens
 
#7

AW: DIV Problem (Integer?)

  Alt 23. Mai 2011, 13:42
Die Datentypen müssen schon passen, da ist Delphi sehr pingelig. Übrigens würde ich es begrüßen, wenn Du in angemessenem Deutsch posten würdest. Nichts gegen einen gelegentlichen Smiley, aber bitte in überschaubarer Anzahl, wir sind ja nicht im Chat hier.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.340 Beiträge
 
Delphi 12 Athens
 
#8

AW: DIV Problem (Integer?)

  Alt 23. Mai 2011, 14:00
Wobei man auch nichtganzzahlige Divisionen bei DIV verwenden kann ... und zwar dann, wenn man die Divisor und Dividend auf ganzahlige Werte erweitert.
Delphi-Quellcode:
x := y / 1.5; // float

x := Trunc(y / 1.5); // integer (abgerundet)
x := Round(y / 1.5); // integer (gerundet)

x := y * 2 div 3; // integer (abgerundet)
x := (y * 2 + 2{*1}) div 3; // integer (aufgerundet)
x := (y * 2 + 1{*2}) div 3; // integer (nahezu gerundet)

*1 = 3 - 1 = Divisor - 1 = höchster Wert eines Divisionsergebnisses
*2 = 3 / 2 = Divisor / 2 = Hälfte des Divisors
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:03 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