Migliore risposta
std :: Nearbyint : arrotonda il floating -point argomento arg
a un valore intero in formato virgola mobile, utilizzando la modalità di arrotondamento corrente .
std :: round : calcola il valore intero più vicino a arg
(in formato a virgola mobile) , arrotondando a metà i casi lontano da zero, indipendentemente dalla modalità di arrotondamento corrente.
Quindi cè la differenza. Se desideri utilizzare una modalità di arrotondamento diversa da quella utilizzata da std :: round, utilizza std :: nearint (o std :: rint , sono quasi identici) .
Nota che anche se scegli FE\_TONEAREST, ci sarà una differenza: std :: nearint / std :: rint arrotonderà i casi da metà a pari, mentre std :: round da zero.