Die Funktion lrint () in C ++ rundet das Argument im aktuellen Rundungsmodus auf einen ganzzahligen Wert.
Die Funktion lrint () in C ++ rundet das Argument im aktuellen Rundungsmodus auf einen ganzzahligen Wert. Der aktuelle Rundungsmodus wird durch die Funktion bestimmt fesetround()
. Es ähnelt rint (), kehrt aber zurück long int
.
Prototyp lrint () (Stand C ++ 11)
long int lrint (double x); long int lrint (float x); long int lrint (langes doppeltes x); long int lrint (T x); // Für integralen Typ
Die Funktion lrint () verwendet ein einzelnes Argument und gibt einen Wert vom Typ zurück long int
. Diese Funktion ist in der Header-Datei definiert.
lrint () Parameter
Die Funktion lrint () verwendet einen einzelnen Argumentwert zum Runden.
lrint () Rückgabewert
Die Funktion lrint () rundet das Argument x unter Verwendung der durch fegetround () angegebenen Rundungsrichtung auf einen ganzzahligen Wert und gibt den Wert in zurück long int
.
Standardmäßig ist die Rundungsrichtung auf "am nächsten" eingestellt. Die Rundungsrichtung kann mit der Funktion fesetround () auf andere Werte eingestellt werden.
Beispiel 1: Wie funktioniert lrint () in C ++?
#include #include #include using namespace std; int main() ( // by default, rounding direction is to-nearest i.e. fesetround(FE_TONEAREST) double x = 11.87; long int result; result = lrint(x); cout << "Rounding to-nearest (" << x << ") = " << result << endl; // mid-way values are rounded off to higher integer x = 11.5; result = lrint(x); cout << "Rounding to-nearest (" << x << ") = " << result << endl; // setting rounding direction to DOWNWARD fesetround(FE_DOWNWARD); x = 11.87; result = lrint(x); cout << "Rounding downward (" << x << ") = " << result << endl; // setting rounding direction to UPWARD fesetround(FE_UPWARD); x = 33.32; result = lrint(x); cout << "Rounding upward (" << x << ") = " << result << endl; return 0; )
Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:
Rundung auf den nächsten (11,87) = 12 Rundung auf den nächsten (11,5) = 12 Rundung nach unten (11,8699) = 11 Rundung nach oben (33,3201) = 34
Beispiel 2: Funktion lrint () für Integraltypen
#include #include #include using namespace std; int main() ( int x = 15; long int result; // setting rounding direction to DOWNWARD fesetround(FE_DOWNWARD); result = lrint(x); cout << "Rounding downward (" << x << ") = " << result << endl; return 0; )
Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:
Abrunden nach unten (15) = 15
Bei Integralwerten gibt die Anwendung der Funktion lrint den gleichen Wert wie die Eingabe zurück. Daher wird es in der Praxis nicht häufig für ganzzahlige Werte verwendet.