Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Anzahl Nachkommastellen von float vergrößern

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
17.09.2005, 08:14 Uhr
Manuelito



Moin.

Ich seh hier überall nur Threads, wie man die Nachkommastellenanzahl von float verkleinern kann, aber bei mir werden nur 5 Nachkommastellen angezeigt, und das ist mir ehrlich gesagt zu wenig.
Hier mein Quellcode:

C++:
#include <iostream.h>

int main()
{
    float ergebnis=20;
    
    for (int i=1; i<=100; i++)
    {
    
        ergebnis = (4*ergebnis+(20/(ergebnis*ergebnis*ergebnis*ergebnis)))/5;
        cout << i <<". Näherungswert:" << ergebnis << endl;
    }
    int b;
    get.char();
    return 0;
}

Wie kann ich die Anzahl an Nachkommastellen vergrößern? Geht das im Quellcode oder in den Projekteinstellungen (benutze MS Visual C++ 6 und Dev-C++)?
--
Verstand ist das, was am gerechtesten unter den Menschen verteilt ist.
Jeder glaubt, er hätte genug davon.
-- unbekannt
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
17.09.2005, 08:17 Uhr
RedEagle



anstatt float, double benutzen.
double hat 10 Nachkommastellen
--
MFG RedEagle
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
17.09.2005, 08:28 Uhr
Manuelito



Der zeigt jetzt zwar im Debugger 10 Nachkommastellen an, aber in dem Fenster sind es nur 5. Woran kann das liegen??
--
Verstand ist das, was am gerechtesten unter den Menschen verteilt ist.
Jeder glaubt, er hätte genug davon.
-- unbekannt
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
17.09.2005, 08:47 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


wahrscheinlich ist die precision von cout auf 5 eingestellt, das kann man verändern.
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
18.09.2005, 21:18 Uhr
Manuelito



Hab jetzt die precision von cout auf 10 gesetzt, aber der zeigt immer noch nur 5 Stellen an. Hier nochmal mein code:

C++:
#include <iostream.h>
#include <iomanip.h>

int main()
{
    double ergebnis=20;
    for (int i=1; i<=100; i++)
    {
    
        ergebnis = (4*ergebnis+(20/(ergebnis*ergebnis*ergebnis*ergebnis)))/5;
        ios::fixed;
        setprecision (10);
        cout << i <<". Näherungswert:" << ergebnis << endl;
    }
    int b;
    cin>>b;
    return 0;
}

Weiß einer, woran das noch liegen könnte??
--
Verstand ist das, was am gerechtesten unter den Menschen verteilt ist.
Jeder glaubt, er hätte genug davon.
-- unbekannt
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
18.09.2005, 22:36 Uhr
FloSoft
Medialer Over-Flow
(Administrator)



C++:
cout << i <<". Näherungswert:" << setprecision(10) << ergebnis << endl;


--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
24.09.2005, 08:24 Uhr
Manuelito



OK, danke.
Funktioniert alles bestens, komm sogar auf 14 Nachkommastellen.
--
Verstand ist das, was am gerechtesten unter den Menschen verteilt ist.
Jeder glaubt, er hätte genug davon.
-- unbekannt
 
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: