Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   C++ Welcher Befehl rundet wie "Round" in Borland C++ ? (https://www.delphipraxis.net/156127-welcher-befehl-rundet-wie-round-borland-c.html)

madina 21. Nov 2010 11:38

AW: Welcher Befehl rundet wie "Round" in Borland C++ ?
 
Hallo,

leider kein Erfolg.

Also ich suche in Borland C++ eine Fkt, der den gleichen wie in Delphi Round() macht.


MFG

mkinzler 21. Nov 2010 11:42

AW: Welcher Befehl rundet wie "Round" in Borland C++ ?
 
Dann nimm am Besten die Delphi Funktion.

himitsu 21. Nov 2010 11:45

AW: Welcher Befehl rundet wie "Round" in Borland C++ ?
 
Das Delphi-Round wendet sich direkt an den mathematischen CoProzessor und in C++ sollte es auch eine Funktion geben, welche das Gleiche macht
und demnach das selbe Ergebnis liefern sollte.

In Borland C++ würde ich erwarten, daß diese Funktion ebenfalls "round" heißt.

Delphi-Quellcode:
{ Procedures and functions that need compiler magic }

procedure      _ROUND;
asm
        { ->   FST(0) Extended argument      }
        { <-    EDX:EAX Result                 }

        SUB    ESP,8
        FISTP  qword ptr [ESP]
        FWAIT
        POP    EAX
        POP    EDX
end;

PS: Runden ist nicht gleich Runden ... siehe Delphi-Referenz durchsuchenSet8087CW und Delphi-Referenz durchsuchenSetRoundMode

madina 21. Nov 2010 11:51

AW: Welcher Befehl rundet wie "Round" in Borland C++ ?
 
Hallo,

leider keinen Erfolg.

Ich suche eine Fkt in Borland C++, die das gleiche macht wie Delphi.Round(); z.B: 326/7=47.

MFG

mkinzler 21. Nov 2010 11:54

AW: Welcher Befehl rundet wie "Round" in Borland C++ ?
 
Nottfalls mit
Code:
y = ceil(x + 0.5);

Robotiker 21. Nov 2010 12:18

AW: Welcher Befehl rundet wie "Round" in Borland C++ ?
 
Zitat:

Zitat von mkinzler (Beitrag 1063030)
Nottfalls mit
Code:
y = ceil(x + 0.5);

Zumindest eine Unterscheidung für negative Zahlen sollte man da einbauen.

Hier noch ein paar andere Varianten:
http://www.c-plusplus.de/forum/39342

Valle 21. Nov 2010 13:42

AW: Welcher Befehl rundet wie "Round" in Borland C++ ?
 
Hallo,

wie wäre es, wenn du uns mal mitteilst, wie genau gerundet werden soll?
  • immer aufrunden
  • immer abrunden
  • runden wie man es in der Grundschule lernt
  • ...

Liebe Grüße,
Valentin

Satty67 22. Nov 2010 08:21

AW: Welcher Befehl rundet wie "Round" in Borland C++ ?
 
Zitat:

Zitat von Valle (Beitrag 1063053)
wie wäre es, wenn du uns mal mitteilst, wie genau gerundet werden soll?

Wurde schon mehrmals beantwortet... genauso runden wie die Delphi Funktion Round() rundet ;)

Also
Code:
Round(9,00) = 9
Round(9,05) = 9
Round(9,10) = 9
Round(9,15) = 9
Round(9,20) = 9
Round(9,25) = 9
Round(9,30) = 9
Round(9,35) = 9
Round(9,40) = 9
Round(9,45) = 9
Round(9,50) = 10
Round(9,55) = 10
Round(9,60) = 10
Round(9,65) = 10
Round(9,70) = 10
Round(9,75) = 10
Round(9,80) = 10
Round(9,85) = 10
Round(9,90) = 10
Round(9,95) = 10
Round(10,00) = 10
Womit mkinzler in Post #15 eine passende Lösung angeboten hatte. (€: als Lösungs-Ansatz)

gammatester 22. Nov 2010 08:30

AW: Welcher Befehl rundet wie "Round" in Borland C++ ?
 
Zitat:

Zitat von Satty67 (Beitrag 1063205)
Zitat:

Zitat von Valle (Beitrag 1063053)
wie wäre es, wenn du uns mal mitteilst, wie genau gerundet werden soll?

Wurde schon mehrmals beantwortet... genasuo runden wie die Delphi Funktion Round() rundet ;)
Womit mkinzler in Post #15 eine passende Lösung angeboten hatte.

Nicht ganz: round(8.5) = 8 aber ceil(8.5+0.5) = 9.

Satty67 22. Nov 2010 09:14

AW: Welcher Befehl rundet wie "Round" in Borland C++ ?
 
Weshalb der/die TS noch sagt, es passt nicht. Aber der Ansatz ist richtig und sollte keine Herausforderung sein.


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:56 Uhr.
Seite 2 von 3     12 3      

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