Ich machte ein Programm, das zuerst 2 Zahlen (mit Float-Datentyp) vom Benutzer nimmt und dann den Benutzer fragt, bis zu welcher Ziffer er die Nummer geteilt bekommen soll und teilt sie schließlich bis zu dieser Nummer und "cout < <" es. Es hat kompiliert, aber es hat nicht funktioniert - bis zur Marke, als ich 22/7 berechnete, was ein irrationales Nein ist. bis zu 100 Ziffern berechnet es bis zu 30 oder 40 Ziffern und dann wurde Rest von Nullen aufgefüllt. Etwas wie folgt aus: 3.1428570747375488281250000000000000000000000000000000000000000000000000000000000000000000000000000000
setprecision() funktioniert nicht wie erwartet
Hier ist mein Code:
#include <iostream>
#include <cstdlib>
#include <iomanip>
using namespace std;
int main()
{
system("clear");
float y;
int z;
float x;
float a;
cout << "\nHello User\n";
cout << "\nEnter first num to be divided: ";
cin >> x;
cout << "\nCool!! Now enter the 2nd number: \n";
cin >> y;
cout << "\Exelent!! Enter the place upto which u wanna caculate: ";
cin >> z;
a = x/y;
cout << fixed << showpoint;
cout << setprecision(z);
cout << "Calculating......\n" << a << endl;
return 0;
}
Alle Zahlen mit 6 oder weniger signifikanten Dezimalziffern können ohne Genauigkeitsverlust in einen Gleitkommawert nach IEEE 754 konvertiert werden. Informieren Sie sich über IEEE-Gleitkommatypen. –
22/7 ist definitiv keine irrationale Zahl. – molbdnilo
oh ich meine PI @molbdnilo – ShivamProgramer