Bästa svaret
std :: nearbyint : Avrundar det flytande -punktsargument arg
till ett heltal i flytande punktformat med nuvarande avrundningsläge .
std :: round : Beräknar närmaste heltal till arg
(i flytande punktformat) , avrundar halvvägsfall från noll, oavsett det aktuella avrundningsläget.
Så det är skillnaden. Om du vill använda ett annat avrundningsläge än vad std :: round använder, använd std :: nearbyint (eller std :: rint , de är nästan identiska) .
Observera att även om du väljer FE\_TONEAREST kommer det att finnas en skillnad: std :: nearbyint / std :: rint avrundar halvvägsfall till jämnt, medan std :: avrundar från noll.