PDA

View Full Version : [Java] Double


rinbo
04-01-2009, 11:58
Ciao a tutti,
da alcuni giorni mi sono avvicinato al mondo Java.

Stavo facendo un semplice programmino che calcola il perimetro, l'area e la diagonale di un rettangolo.

public class AREA
{
public static void main (String args[])
{
int a, b, area, per;
double diag;
a=5;
b=2;
area=a*b;
System.out.println("L'arena è di " +area);
per=(a*2)+(b*2);
System.out.println("Il perimentro è di " +per);
diag=Math.sqrt((a*a)+(b*b));
System.out.println("La diagonale è di" +diag);
}
}


Ovviamente, il valore della diagonale possiede molti numeri decimali.
Volevo sapere se c'è un comando o altro, per poter limitare i decimali a 2 o 3 cifre.

Grazie

Saluti

RinbO

stdecden
04-01-2009, 14:45
Non esiste che io sappi una funzione giá pronta :stordita: peró puoi scriver cosí:


double numero = 1.123456789;

// per 2 posizioni decimali
double numero2 = Math.round(numero * 100) / 100.0;

// per 3 invece
double numero3 = Math.round(numero * 1000) / 1000.0;

darkestsky
04-01-2009, 19:48
Oppure puoi utilizzare la formattazione dell'output...

Vedi http://java.sun.com/developer/JDCTechTips/2004/tt1005.html#2

oppure (più semplice) http://www.iro.umontreal.ca/~vaucher/Java/tutorials/Formatting.html