EuroConvertitore...help!!!

beltipo-votailprof
ma dici exnovo o parli di qualcosa che esiste già?

Risposte
Studente Anonimo
Studente Anonimo
Ragazzi, grazie mille a tutti ma ho già trovato la soluzione (grazie anche al mio a mico Carmeluzzo!) e sembra anche abbastanza semplice e sbrigativa...come ho fatto a non pensarci prima!!!??? Cmq se volete visionarla contact me!!!


Studente Anonimo
Studente Anonimo
Perchè? Se moltiplichi per 100 sposti la virgola di due posti... poi elidi la parte decimale (qualunque essa sia e dividi di nuovo per 100:



double metodo(double valore) {

return (int)(valore * 100) / 100;



}



prova a passare qualsiasi double



ciao

Studente Anonimo
Studente Anonimo
Si... ma così ti serve sapere prima quante cifre decimali ci sono... altrimenti non funziona...

Studente Anonimo
Studente Anonimo
Umh... per salvare solo le ultime 2 cifre decimali si potrebbe fare cosi:



double lire = 1578.569413



int n = (int) (lire * 10); // E tolgo le cifre che non servono



double = n / 10; // ripristino le 2 cifre decimali.



Ciao

Studente Anonimo
Studente Anonimo
bah... si potrebbe fare così:

---------------------------------------------------

import javax.swing.*;



public class euroPrint

{

public static void main(String[] args)

{

Double lire=Double.valueOf((JOptionPane.showInputDialog("Cifra in lire da convertire:")));

double euro=lire.doubleValue()/1936.27;

System.out.println(dueDecimali(euro));

System.exit(0);

}

/* metodo che restituisce una stringa proveniente da un double "troncandolo" a sole due cifre decimali*/

public static String dueDecimali(double cifra)

{

String nuovaCifraTemp=Double.toString(cifra);

String nuovaCifra="";

int indiceDecimale=0;

for (int i=0;nuovaCifraTemp.charAt(i)!=´.´;i++)

{

nuovaCifra+=nuovaCifraTemp.charAt(i);

indiceDecimale=i;

}

nuovaCifra+=nuovaCifraTemp.charAt(indiceDecimale+1);

nuovaCifra+=nuovaCifraTemp.charAt(indiceDecimale+2);

nuovaCifra+=nuovaCifraTemp.charAt(indiceDecimale+3);

return nuovaCifra;

}

}

Studente Anonimo
Studente Anonimo
E´ un´idea un po buttata li, cmq se ti può servire:



double valore = 125.4569



double decimale = valore - (int)valore; // e decimale vale 0.4569



double num = decimali * 1000 // num vale 456.9



int intero = (int)num // vale 456



converti in stringa e ritorni l´ultimo carattere...





cmq cerca, ci dovrebbe essere qualche funzione che ti potrà aiutare.



ciao

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.