Se in JAVA dovete arrotondare un numero con la virgola all’intero più vicino o comunque ad un numero decimale ma con le cifre (la precisione) da noi decisa, potete utilizzare questa funzione:
/**
* Arrotonda eventualmente un double all'intero più vicino<BR>
* Esempi:<BR>
* rounder(3.99, 1e-2) -> 4.0
* rounder(3.99, 1e-3) -> 3.99
* @param value valore da arrotondare
* @param precision precisione; ad esempio, 1e-7 indica che vogliamo 7 cifre decimali max dopo la virgola
* @return il valore eventualmente arrotondato
*/
public static double roundToInteger(double value, double precision) {
if (value>=0)
return 1.0-(value-Math.floor(value)) < precision ? Math.ceil(value) : value;
else
return 1.0-(Math.ceil(value)-value) < precision ? Math.floor(value) : value;
}



