EuroConvertitore...help!!!
ma dici exnovo o parli di qualcosa che esiste già?
Risposte
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!!!

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
double metodo(double valore) {
return (int)(valore * 100) / 100;
}
prova a passare qualsiasi double
ciao
Si... ma così ti serve sapere prima quante cifre decimali ci sono... altrimenti non funziona...
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
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
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;
}
}
---------------------------------------------------
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;
}
}
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
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