Język C++
round
[funkcja] Naturalne zaokrąglanie liczby.Składnia
#include <cmath>
double round( double fValue );
Opis szczegółowy
Naturalne zaokrąglanie liczby. Każda liczba, której pierwsza liczba po przecinku jest większa lub równa 5 jest zaokrąglana w górę, natomiast w przeciwnym przypadku liczba jest zaokrąglana w dół.
Dodatkowe informacje
Uwaga!
Funkcja nie należy do standardu, więc biblioteka może nie posiadać implementacji. |
Implementacja funkcji round
Jeśli Twoja biblioteka nie posiada niniejszej funkcji (np. Visual C++), możesz ją zaimplementować następująco:
#include <cmath>
double round( double fValue )
{
return fValue < 0 ? ceil( fValue - 0.5 )
: floor( fValue + 0.5 );
}
Przykład
#include <cstdio>
#include <cmath>
double myRound( double fValue )
{
return fValue < 0 ? ceil( fValue - 0.5 )
: floor( fValue + 0.5 );
}
int main()
{
printf( "round(4.00) = %d\n",( int ) round( 4.00 ) );
printf( "round(3.49) = %d\n",( int ) round( 3.49 ) );
printf( "round(3.50) = %d\n",( int ) round( 3.50 ) );
printf( "round(-3.49) = %d\n",( int ) round( - 3.49 ) );
printf( "round(-3.50) = %d\n",( int ) round( - 3.50 ) );
printf( "round(-4.00) = %d\n\n",( int ) round( - 4.00 ) );
printf( "myRound(4.00) = %d\n",( int ) myRound( 4.00 ) );
printf( "myRound(3.49) = %d\n",( int ) myRound( 3.49 ) );
printf( "myRound(3.50) = %d\n",( int ) myRound( 3.50 ) );
printf( "myRound(-3.49) = %d\n",( int ) myRound( - 3.49 ) );
printf( "myRound(-3.50) = %d\n",( int ) myRound( - 3.50 ) );
printf( "myRound(-4.00) = %d\n\n",( int ) myRound( - 4.00 ) );
return 0;
}
Standardowe wyjście programu:
round(4.00) = 4
round(3.49) = 3
round(3.50) = 4
round(-3.49) = -3
round(-3.50) = -4
round(-4.00) = -4
myRound(4.00) = 4
myRound(3.49) = 3
myRound(3.50) = 4
myRound(-3.49) = -3
myRound(-3.50) = -4
myRound(-4.00) = -4
Zagadnienia powiązane
floor | Zaokrąglanie liczby w dół. (funkcja) |
---|
ceil | Zaokrąglanie liczby w górę. (funkcja) |
---|
Linki zewnętrzne
Wszystkie teksty są chronione prawami autorskimi. Kopiowanie lub rozpowszechnianie treści poza niniejszym serwisem
jest zabronione.
Powyższe ograniczenie nie dotyczy autora opracowania, któremu przysługuje prawo do rozpowszechniania własnego tekstu wedle własnego uznania.