AGB  ·  Datenschutz  ·  Impressum  







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

div und seine Rundung

Ein Thema von haentschman · begonnen am 12. Okt 2008 · letzter Beitrag vom 12. Okt 2008
Antwort Antwort
Seite 1 von 3  1 23      
Benutzerbild von haentschman
haentschman
Online

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.387 Beiträge
 
Delphi 12 Athens
 
#1

div und seine Rundung

  Alt 12. Okt 2008, 10:52
Guten Morgen....

ich hatte heute wieder mal

die Funktion div ergibt ja als Ergebnis eine Ganzzahl.

Dann bitte ich um eine Erklärung:

6.50 div 8 = 0
7.00 div 8 = 0
7.50 div 8 = 1 sollte eigentlich auch 0 sein oder ?
8.00 div 8 = 1

Kann mir das jemand erklären ?

Danke.
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#2

Re: div und seine Rundung

  Alt 12. Okt 2008, 10:55
Div arbeitet nur mit Ganzzahlen.
8 div 8 etc..

Wenn du realzahlen hast verwende Delphi-Referenz durchsuchenRound und Delphi-Referenz durchsuchenTrunc.
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#3

Re: div und seine Rundung

  Alt 12. Okt 2008, 10:57
mich wundert es das 7.5 div 8 bei dir compiliert
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

Re: div und seine Rundung

  Alt 12. Okt 2008, 10:58
Mich auch, das sollte der Compiler gar nicht erst akzeptieren. Machst Du irgendwelche casts vorher?
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 haentschman
haentschman
Online

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.387 Beiträge
 
Delphi 12 Athens
 
#5

Re: div und seine Rundung

  Alt 12. Okt 2008, 11:00
Danke für die rasche Antwort.

habe ich da was mißverstanden...

ich will ja aus einem Float eine Ganzzahl haben.

im einfachsten Sinne nach obigem Beispiel möchte ich als Ergebnis:
- wie oft paßt (in obigem Beispiel die 8) in den Floatwert. ein wenig simpel ausgedrückt

funktioniert soweit auch gut bis auf die 7,50... da bekomme ich als Ergebnis eine 1 zurück...hätte da aber auch gern eine 0

[edit]
ComboBoxTage.ItemIndex:= ZQueryAnlagenDetail.FieldValues['ZEITAUFWAND'] div 8; ... das Feld ist ein Float Feld und die Werte darin von 0 bis ... in 0.5 Schritten
[/edit]
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#6

Re: div und seine Rundung

  Alt 12. Okt 2008, 11:06
(variant) 7,5 wird beim impliziten Typecast (Variant => Integer) zu 8 aufgerundet, denke ich mal.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Benutzerbild von bernau
bernau

Registriert seit: 1. Dez 2004
Ort: Köln
1.294 Beiträge
 
Delphi 12 Athens
 
#7

Re: div und seine Rundung

  Alt 12. Okt 2008, 11:06
Zitat von haentschman:
7.00 div 8 = 0
7.50 div 8 = 1 sollte eigentlich auch 0 sein oder ?
8.00 div 8 = 1
Die 7.5 wird vieleicht vor der Rechenoperation gerundet, da div mit integer arbeitet. Gerundet ergibt 7.5 eben eine 8. Und 8 geteilt durch 8 ist 1.


Gerd


Edit: alzaimer war wohl um 7.5 Sekunden ,ähm 8 Sekunden schneller.
Gerd
Kölner Delphi Usergroup: http://wiki.delphitreff.de
  Mit Zitat antworten Zitat
Klaus01
Online

Registriert seit: 30. Nov 2005
Ort: München
5.767 Beiträge
 
Delphi 10.4 Sydney
 
#8

Re: div und seine Rundung

  Alt 12. Okt 2008, 11:08
Vielleicht solltest Du mit trunc den Nachkommaanteil abschneiden.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

Re: div und seine Rundung

  Alt 12. Okt 2008, 11:09
Also muss man selbst runden. Je nach gewolltem Ergebnis bieten sich da Round(), Trunc(), RoundTo(), SimpleRoundTo() usw. an, ich habe gerade nicht alle Möglichkeiten im Kopf.
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 haentschman
haentschman
Online

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.387 Beiträge
 
Delphi 12 Athens
 
#10

Re: div und seine Rundung

  Alt 12. Okt 2008, 11:09
...nun ja.

dann sollte eigentlich nach Adam Riese die 7,0 auch auf 8 gerundet werden oder ?

Zitat:
Vielleicht solltest Du mit trunc den Nachkommaanteil abschneiden.
...erscheint mir auch als die beste Lösung.
...bin schon dran
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 08:04 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