Arrotondare double in Java con Apache Commons Math
Non capisco perchè a volte non si trova quello che si cerca anche se la richiesta è molto semplice.
In Java ho bisogno di arrotondare un double a due decimali.
Quindi devo arrotondare questo a due decimali: 8521.6641263.
In giro ho trovato le soluzioni più disparate, di cui molte mi facevano convertire il double in String.
Ma perchè??? Io poi lo devo usare quel numero!
La soluzione mi è arrivata, come spesso accade, da Apache Commons Math.
Se usate Maven:
<dependencies>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-math3</artifactId>
<version>3.6.1</version>
</dependency>
</dependencies>
Adesso vediamo un esempio di codice Java:
import org.apache.commons.math3.util.Precision;
import java.math.BigDecimal;
public class Main {
public static void main(String[] args) {
double numero = 8521.6641263;
double rounded1 = Precision.round(numero, 2);
double rounded2 = Precision.round(numero, 2, BigDecimal.ROUND_DOWN);
double rounded3 = Precision.round(numero, 2, BigDecimal.ROUND_UP);
double rounded4 = Precision.round(numero, 2, BigDecimal.ROUND_CEILING);
System.out.println(numero);
System.out.println(rounded1);
System.out.println(rounded2);
System.out.println(rounded3);
System.out.println(rounded4);
}
}
Se poi andate a vedere cosa fa la classe Precision, noterete che dietro fa lui i calcoli con BigDecimal.
Enjoy!
java apache commons math precision bigdecimal
1 Commenti
apache commons docet !
20/03/2020