Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » dezimalstellen

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
11.10.2004, 20:46 Uhr
~soki
Gast


Hätte da 2 Fragen: 1. wie kann ich die Anzahl der dezimalstellen bestimmen ?
2. wie kann ich nur die dezimalstellen behalten zB von 4.36 -> 0.36?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
11.10.2004, 21:28 Uhr
Hans
Library Walker
(Operator)


Hi,

Zitat:
1. wie kann ich die Anzahl der dezimalstellen bestimmen ?

Das geht nur über die Auswahl des Datentyps, alles andere ist von der zugrunde liegenden Hardware abhängig. Grundsätzlich gilt, das der Datentyp float ca. 7 Stellen hat, die genau sind. Beim Datentyp double sind es etwa 15 Stellen. Bei long double ca. 18.
Dabei ist die jeweils letzte Stelle immer Vorsicht zu geniessen, weil sie sehr wahrscheinlich gerundet ist. Warum das so ist, hat mit der Darstellung gebrochener (reeller) Zahlen im Rechner zu tun, das wurde hier schon mal ausführlicher behandelt. (Suchfunktion benutzen.)

Zitat:
2. wie kann ich nur ie dezimalstellen behalten zB von 4.36 -> 0.36?

Dazu gibt es die Funktion modf() in der mathe-bibliothek math.h (bzw. math in C++). Näheres dazu ist in der Hilfefunktion zum Compiler zu finden. Wenn was unklar ist, einfach noch mal melden.

Hans
--
Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
11.10.2004, 22:02 Uhr
~soki
Gast


Danke, aber wie kann ich es machen, dass mir genau 2 dezimalstellen bzw gar keine angezeigt wird?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
12.10.2004, 01:08 Uhr
Hans
Library Walker
(Operator)


Hi,


Zitat:
Danke, aber wie kann ich es machen, dass mir genau 2 dezimalstellen bzw gar keine angezeigt wird?

ach Du meinst die Ausgabe. Das macht man in C über dem Formatstring von printf(); also so

C++:
double z=234.456789;

printf("%.2f\n", z);



in C++ muss man AFAIK irgendwo am Ausgabestream was einstellen, aber von C++ hab ich keine Ahnung, deshalb kann ich nur mitteilen, wie man es in C macht. Obwohl... - Dazu gibt es hier im Forum noch ein paar weitere Beiträge, diese hier zum Beispiel:
Nachkommastellen dynamisch abschneiden?
Richtige Formatierung für printf
String formatiert in txt-datei schreiben (in C)
Rückgabe einer double variable
Die hat mir die Suchfunktion zu Tage gefördert.

Hans


P.S. @virtual: Hast Du nicht mal vor einiger Zeit einen längeren Beitrag speziell für die FAQ's geschrieben, wo genau das auch behandelt wurde?? - Oder gab's da nur den Hinweis auf man-pages?
--
Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung.

Dieser Post wurde am 12.10.2004 um 01:14 Uhr von Hans editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: