Cel mai bun răspuns
std :: Nearbyint : rotunjește flotantul -point argument arg
la o valoare întreagă în format cu virgulă mobilă, utilizând modul curent de rotunjire .
std :: round : Calculează cea mai apropiată valoare întreagă la arg
(în format cu virgulă mobilă) , rotunjirea cazurilor la jumătatea distanței de la zero, indiferent de modul curent de rotunjire.
Deci, există diferența. Dacă doriți să utilizați un mod de rotunjire diferit de ceea ce folosește std :: round, utilizați std :: Nearbyint (sau std :: rint , acestea sunt aproape identice) .
Rețineți că, chiar dacă alegeți FE\_TONEAREST, va exista o diferență: std :: nearestint / std :: rint va rotunji la jumătate cazurile la egal, în timp ce std :: rotunjește la zero.