Programmieren - alles kontrollieren 4.941 Themen, 20.708 Beiträge

Runden in C++, nur wie???

(Anonym) / 5 Antworten / Flachansicht Nickles

Ich habe versucht in C++ 6.0 eine Zahl (float) zu runden.
Leider weiß ich ich den konkreten Befehl dafür nicht,
mußte also im Handbuch nachschlagen. Da stand als Bsp.:

SELECT RUNDEN(mng * (Preis * Rabatt), 2)
FROM Verkauf

und diese Funktionen verlangen auch noch ODBC, von dem ich
noch weniger als von C++ verstehe :-(
Kann mir irgendjemand sagen,
wie die einfache Runden-Funktion (am Besten ohne ODBC) aussieht?
Danke!
bei Antwort benachrichtigen
Andreas42 (Anonym) „Runden in C++, nur wie???“
Optionen

Hi!

In was für einem Handbuch hast du denn Nachgeschlagen? 8-)

Die Anweisung ist SQL und bedeutet, das aus der Tabelle Verkauf (die in einer Datenbank verwaltet wird) die Spalten (Felder Menge, Preis * Rabett) gelesen multipliziert, auf zwei Nachkommastellen gerundet und dann untereinander ausgegeben werdenen.

Das ist zwar schön, wird auch funktionieren - ist aber eigentlich kein C++, sondern eben eine SQL-Anweisung (die Warscheinlich von einem SCSQ-Preprozesser in C/C++-Anweisungen umgesetzt wird). ;-)

ODBC ist übrigends ein Schnittstellen-Standard auf Treiberebene zum Ansprechen von Datenbanken. Um per SQL auf den Inhalt (= die Tabellen) einer Datenbank zugreifen zu können, muss vorher eine ODBC-Verbindung (durch einen ODBC-Treiber) zur Datenbank hergestellt werden.

Ich bin leider kein echter C/C++ Kenner, sondern nur ein Einfacher Turbo C++ Anwender. Dort gibt es aber natürlich eine Funktione zum Runden von Floatwerten: dort gibt's den BCD-Typ, eine Float-Variante, die gezielt Nachkommastennen zugewiesen bekommt (die Wandlung Float nach BCD erfolgt mit der Funktion bcd( floatvar, nachkommastellen ).
Die Bibliozhek math.h kennt aber auch Funktionen zum Auf- und Abrunden von float-Werten: ceil(float) und floor(float). Beide Funktionen runden auf die letzte Vorkommastelle. (Also Notfalls den Wert mal 100, runden und wieder durch 100 teilen, falls es zwei nachkommastellen sein sollen...)

Ich hoffe, das hilft dir weiter.

Bis denn
Andreas

Hier steht was ueber mein altes Hard- und Softwaregedoens.
bei Antwort benachrichtigen
Danke! (Anonym)