Zum Hauptinhalt springen

Kopieren einer Dezimalzahl auf 1 Zeichen nach einem Punkt in C++

In der Programmiersprache C++ gibt es mehrere Möglichkeiten, eine Dezimalzahl mit der gewünschten Genauigkeit auszugeben. In diesem Artikel werden wir einen von ihnen betrachten, nämlich die Verwendung der Funktion std::setprecision aus der Standardbibliothek .

Zum Beispiel, um eine Zahl abzuleiten 3.14159 mit einer Genauigkeit von 1 Dezimalstelle können wir den folgenden Code schreiben:

Nach der Ausführung dieses Codes wird eine Zahl angezeigt 3.1, da wir die Genauigkeit auf 1 Ziffer nach dem Komma angegeben haben. Wenn wir jedoch eine Zahl mit größerer Genauigkeit ausgeben möchten, z. B. mit einer Genauigkeit von 3 Ziffern nach dem Komma, können wir sie an eine Funktion übergeben std::setprecision wert 3: std::setprecision(3).

Im Folgenden finden Sie ein Codebeispiel, das die Verwendung dieser Funktionen veranschaulicht:

Durch die Ausführung dieses Codes wird die Zahl 3.1 ausgegeben.

Wenn die Zahl beispielsweise 3.1415 ist und die Genauigkeit auf 2 Ziffern nach dem Komma festgelegt ist, wird die Zahl als 3.14 angezeigt. Wenn die Genauigkeit auf 5 Ziffern eingestellt ist, wird die vollständige Zahl 3.1415 angezeigt.

So sind die Funktionen std::fixed und std::setprecision ermöglicht die Steuerung der Anzeige von Dezimalzahlen in C++.

Das Konzept der Dezimalzahl

In der Zahl 123,3 stellt beispielsweise die Dezimalzahl die folgenden Positionen und Gewichte dar:

  • 1 - die Stelle von Hunderten (10 in Grad 2)
  • 2 - die Stelle der Zehner (10 in Grad 1)
  • 3 - stellige Einheiten (10 in Grad 0)
  • 3 - die Zehntelstelle (10 in Grad -1)

Somit ist die Zahl 123,3 die Summe der Stücke der Ziffern einer Zahl auf ihrem Gewicht:

1 * 10^2 + 2 * 10^1 + 3 * 10^0 + 3 * 10^(-1) = 100 + 20 + 3 + 0,3 = 123,3

Dezimalzahlen werden im täglichen Leben häufig verwendet, um Bruchwerte, Geldbeträge usw. darzustellen.

Dezimalzahl: definition und Merkmale

Dezimalzahlen, auch als Gleitkommazahlen bekannt, sind Zahlen, die Dezimalbrüche enthalten können. Sie ermöglichen es Ihnen, Zahlen mit sehr großen oder sehr kleinen Werten mit einer Genauigkeit von einer Ziffer darzustellen.

#include #include int main()

Dieser Code gibt die Nummer 3 aus.1, wobei die Genauigkeit nach dem Komma eine Ziffer beträgt.

Das Besondere an der Arbeit mit Dezimalzahlen in C++ ist, dass sie aufgrund der Einschränkungen der Darstellung von Gleitkommazahlen im Arbeitsspeicher des Computers an Genauigkeit verlieren können. Daher können bei Operationen mit Dezimalzahlen, insbesondere bei Division und Multiplikation, Rundungen und Genauigkeitsverlust auftreten.

Es wird empfohlen, den Datentyp long double zu verwenden, der die Zahlen mit höherer Genauigkeit darstellt, aber mehr Speicher benötigt, um den Genauigkeitsverlust bei der Arbeit mit Dezimalzahlen in C++ zu reduzieren.

OperationEin BeispielErgebnis
Addition3.1 + 2.45.5
Subtraktion5.6 - 3.22.4
Multiplikation2.5 * 3.28.0
Division6.3 / 2.13.0

Wenn wir beispielsweise die Zahl 3.14159 mit einer Genauigkeit von einer Ziffer nach dem Komma ausgeben möchten, können wir den folgenden Code verwenden:

#include using namespace std;int main()
Число с точностью до 1 цифры после запятой: 3.1

Um den STD-Manipulator zu verwenden::setprecision() muss eine iomanip-Headerdatei mit der folgenden Direktive enthalten:

Beispiel für die Verwendung eines Manipulators:

In diesem Beispiel wird die Zahl auf eine Ziffer nach dem Komma zurückgeführt. Wenn Sie die Genauigkeit in einen anderen Wert ändern möchten, ändern Sie einfach das Argument der Funktion std::setprecision().

Rundung einer Zahl

Eine Möglichkeit, eine Zahl zu runden, besteht darin, die Funktion round zu verwenden. Die round-Funktion nimmt eine Dezimalzahl an und gibt ihren gerundeten Wert auf die nächste ganze Zahl zurück.

Hier ist ein Beispiel für die Verwendung der round-Funktion zum Runden einer Zahl:

double number = 3.14159;double roundedNumber = round(number);std::cout 

Hier ist ein Beispiel für die Verwendung der setprecision-Funktion zum Runden einer Zahl:

double number = 3.14159;std::cout 

Abhängig von den Anforderungen einer bestimmten Aufgabe können Sie die am besten geeignete Methode auswählen, um eine Zahl auf eine Ziffer genau zu runden.

Wie kann ich eine Dezimalzahl runden

Sie können eine Dezimalzahl in der Programmiersprache C++ mit verschiedenen mathematischen Funktionen runden. Im Folgenden sind Beispiele für die Verwendung solcher Funktionen aufgeführt:

FunktionDie Beschreibung
round()Rundet eine Zahl auf den nächsten ganzzahligen Wert auf
floor()Rundet die Zahl auf den nächsten kleineren ganzzahligen Wert auf
ceil()Rundet eine Zahl auf den nächsten größeren ganzzahligen Wert auf

Beispiel für die Verwendung der Funktion round() zum Runden einer Dezimalzahl:

double number = 3.85;

double roundedNumber = round(number);