Funktionen lrint () i C ++ afrunder argumentet til en integreret værdi ved hjælp af den aktuelle afrundingstilstand.
Funktionen lrint () i C ++ afrunder argumentet til en integreret værdi ved hjælp af den aktuelle afrundingstilstand. Den aktuelle afrundingstilstand bestemmes af funktionen fesetround()
. Det svarer til rint (), men vender tilbage long int
.
lrint () prototype (pr. C ++ 11 standard)
lang int lrint (dobbelt x); lang int lrint (float x); lang int lrint (lang dobbelt x); langt int-tryk (T x); // For integreret type
Funktionen lrint () tager et enkelt argument og returnerer en værdi af typen long int
. Denne funktion er defineret i headerfilen.
lrint () Parametre
Funktionen lrint () tager en enkelt argumentværdi at afrunde.
lrint () Returværdi
Funktionen lrint () afrunder argumentet x til en integreret værdi ved hjælp af afrundingsretningen specificeret af fegetround () og returnerer værdien i long int
.
Afrundingsretningen er som standard indstillet til 'nærmest'. Afrundingsretningen kan indstilles til andre værdier ved hjælp af funktionen fesetround ().
Eksempel 1: Hvordan fungerer lrint () i 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; )
Når du kører programmet, vil output være:
Afrunding til nærmeste (11,87) = 12 Afrunding til nærmeste (11,5) = 12 Afrunding nedad (11,8699) = 11 Afrunding opad (33,3201) = 34
Eksempel 2: lrint () -funktion til integrerede typer
#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; )
Når du kører programmet, vil output være:
Afrunding nedad (15) = 15
Ved integrerede værdier returnerer anvendelse af lrint-funktionen den samme værdi som input. Så det bruges ikke almindeligt til integrerede værdier i praksis.