Funcția rint () din C ++ rotunjește argumentul la o valoare integrală utilizând modul curent de rotunjire.
Funcția rint () din C ++ rotunjește argumentul la o valoare integrală utilizând modul curent de rotunjire. Modul curent de rotunjire este determinat de funcția fesetround ().
prototip rint () (Începând cu standardul C ++ 11)
rint dublu (x dublu); float rint (float x); rint dublu lung (long double x); rint dublu (T x); // Pentru tip integral
Funcția rint () ia un singur argument și returnează o valoare de tip double, float sau long double type. Această funcție este definită în fișierul antet.
rint () Parametri
Funcția rint () ia o singură valoare de argument pentru a rotunji.
rint () Valoare returnată
Funcția rint () rotunjește argumentul x la o valoare integrală, utilizând direcția de rotunjire specificată de fegetround () și returnează valoarea. În mod implicit, direcția de rotunjire este setată la „la-cel mai apropiat”. Direcția de rotunjire poate fi setată la alte valori utilizând funcția fesetround ().
Exemplul 1: Cum funcționează rint () în 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, result; result = rint(x); cout << "Rounding to-nearest (" << x << ") = " << result << endl; // upper value is taken for mid-way values x = 11.5; result = rint(x); cout << "Rounding to-nearest (" << x << ") = " << result << endl; // setting rounding direction to DOWNWARD fesetround(FE_DOWNWARD); x = 11.87; result = rint(x); cout << "Rounding downward (" << x << ") = " << result << endl; // setting rounding direction to UPWARD fesetround(FE_UPWARD); x = 33.32; result = rint(x); cout << "Rounding upward (" << x << ") = " << result << endl; return 0; )
Când rulați programul, ieșirea va fi:
Rotunjire la cel mai apropiat (11,87) = 12 Rotunjire la cel mai apropiat (11,5) = 12 Rotunjire în jos (11,8699) = 11 Rotunjire în sus (33,3201) = 34
Exemplul 2: funcția rint () pentru tipurile integrale
#include #include #include using namespace std; int main() ( int x = 15; double result; // setting rounding direction to DOWNWARD fesetround(FE_DOWNWARD); result = rint(x); cout << "Rounding downward (" << x << ") = " << result << endl; return 0; )
Când rulați programul, ieșirea va fi:
Rotunjirea în jos (15) = 15
Pentru valorile integrale, aplicarea funcției rint returnează aceeași valoare ca intrarea. Deci nu este folosit în mod obișnuit pentru valori integrale în practică.