17 Kasım 2017 Cuma

std::round metodu

Giriş
İmzası şöyle.
double round(double);
Açıklaması şöyle.
The round functions round their argument to the nearest integer value in floating-point format, rounding halfway cases away from zero, regardless of the current rounding direction.
C++11 ile geldi.
Eğer sonucun integral olmasını istiyorsak std::lround() kullanırız. std::lrint() metodu da integral bir sayı döner ancak sabit bir kural yerine o anki geçerli yuvarlama kuralını kullanır.
Eğer sonucun floating point olmasını istiyorsak ve sabit kural yerine geçerli yuvarlama yönteminin kullanılmasını istiyorsak std::nearbyint() metodu kullanılır.
Örnek
Şöyle yaparız
double i = std::round(0.9);
C++11'den Önce
Daha önceki C++ sürümlerinde şöyle yaparız.
double input = ...;
double x1 = floor(0.5 + input);

Hiç yorum yok:

Yorum Gönder