Beste svaret
std :: nearbyint : Avrunder det flytende -punktsargument arg
til et heltall i flytende punktformat ved hjelp av gjeldende avrundingsmodus .
std :: round : Beregner nærmeste heltall til arg
(i flytende-format) , avrunding halvveis vekk fra null, uavhengig av gjeldende avrundingsmodus.
Så det er forskjellen. Hvis du vil bruke en annen avrundingsmodus enn hva std :: round bruker, bruk std :: nearbyint (eller std :: rint , de er nesten identiske) .
Merk at selv om du velger FE\_TONEAREST, vil det være en forskjell: std :: nearbyint / std :: rint vil avrunde halvveis tilfeller til jevnt, mens std :: runde bort fra null.