Forum Informatica Unict

LAUREA TRIENNALE (D.M. 270/04) => Programmazione 1, 9 CFU => Topic started by: Chuck_son on 10-12-2010, 17:50:44



Title: Troncare numeri dopo virgola
Post by: Chuck_son on 10-12-2010, 17:50:44
salve in java è presente un metodo per troncare la parte non intera di un numero?
in giro ho visto che viene utilizzato %3.d  per dire per esempio di troncare dalla terza cifra dopo la virgola in poi.. ho provato ma mi dava errore di perdita di informazioni..
Code:
si ok ovvio che c'e perdita di informazioni ma  lo sto chiedendo io <.< ..  (pensieri contro JVM )


Title: Re:Troncare numeri dopo virgola
Post by: KingDavid on 10-12-2010, 18:07:22
salve in java è presente un metodo per troncare la parte non intera di un numero?
in giro ho visto che viene utilizzato %3.d  per dire per esempio di troncare dalla terza cifra dopo la virgola in poi.. ho provato ma mi dava errore di perdita di informazioni..
Code:
si ok ovvio che c'e perdita di informazioni ma  lo sto chiedendo io <.< ..  (pensieri contro JVM )

Non capisco la tua domanda:
ti serve solo la parte intera
oppure
ti serve un numero preciso di cifre dopo la virgola?


Title: Re:Troncare numeri dopo virgola
Post by: Chuck_son on 10-12-2010, 18:31:55
Quote

Non capisco la tua domanda:
ti serve solo la parte intera
oppure
ti serve un numero preciso di cifre dopo la virgola?


si mi serve il numero intero piu un numero preciso di cifre dopo la virgola..

ad esempio il double 2.4565746876

                    io voglio 2.456


Title: Re:Troncare numeri dopo virgola
Post by: havoc on 10-12-2010, 18:33:35
Con questo credo di rispondere entrambe. Ovviamente la soluzione non è strettamente Java.
Non so se esistono delle cose specifiche Java e non so nemmeno se a te servivano per utilizzo o solo per stampa.
Code:
double d = 1.2345678;
System.out.println(d);

// conversione esplicita
int i = (int)d;
System.out.println(i);

// trucchetto abbastanza classico per limitare le cifre decimali
double d2 = (int)(d*1000);
d2 /= 1000;
System.out.println(d2);


Title: Re:Troncare numeri dopo virgola
Post by: Chuck_son on 10-12-2010, 19:06:30
ah ok perfetto grazie ;D


Title: Re:Troncare numeri dopo virgola
Post by: ɹǝǝuıƃuǝsɹǝʌǝɹ on 10-12-2010, 21:04:43
%.3d è un tipico specificatore di formato delle funzioni *printf tipiche dei linguaggi C/C++.
Già prima di te, qualcuno ha pensato che fosse utile poterli usare anche in Java e ha creato la classe PrintfFormat (sorgente) (http://java.sun.com/developer/technicalArticles/Programming/sprintf/PrintfFormat.java).

A tal proposito, consiglio di leggere tutto l'articolo di Sun (http://java.sun.com/developer/technicalArticles/Programming/sprintf/) (ops... Oracle :pray) in cui si parla di questa cosa e di come va usata (possibilmente sempre meno nel tempo :pray) tale classe.

Ciao ciao .ciaociao.