(java) Formato tipo float
- danilo84
- Scoppiettante Seguace

- Messaggi: 929
- Iscrizione: lunedì 27 novembre 2006, 9:24
- Località: Taranto
(java) Formato tipo float
Ciao a tutti,
vorrei sapere se in java, c'è la possibilità di avere un numero di tipo float nel seguente formato: xxx.xxx.xxx,xx
Cioè, avere una funzione che in input abbia il numero cosi: 1234,23 e in output, sempre di tipo float questo: 1.234,23
Grazie
vorrei sapere se in java, c'è la possibilità di avere un numero di tipo float nel seguente formato: xxx.xxx.xxx,xx
Cioè, avere una funzione che in input abbia il numero cosi: 1234,23 e in output, sempre di tipo float questo: 1.234,23
Grazie
- Giambo
- Entusiasta Emergente

- Messaggi: 1013
- Iscrizione: sabato 4 febbraio 2006, 18:36
- Località: Helvetia
Re: (java) Formato tipo float
Si, quello che cerchi e' DecimalFormat, da usare con DecimalFormatSymbols:danilo84 ha scritto: Ciao a tutti,
vorrei sapere se in java, c'è la possibilità di avere un numero di tipo float nel seguente formato: xxx.xxx.xxx,xx
Cioè, avere una funzione che in input abbia il numero cosi: 1234,23 e in output, sempre di tipo float questo: 1.234,23
http://java.sun.com/j2se/1.5.0/docs/api ... ormat.html
http://java.sun.com/j2se/1.5.0/docs/api ... mbols.html
Codice: Seleziona tutto
DecimalFormatSymbols symbols = new DecimalFormatSymbols();
symbols.setDecimalSeparator(',');
symbols.setGroupingSeparator('.');
DecimalFormat format = new DecimalFormat("#,###.##", symbols);
String result = format.format(mioNumero);
Here we are again, now place your bets
- danilo84
- Scoppiettante Seguace

- Messaggi: 929
- Iscrizione: lunedì 27 novembre 2006, 9:24
- Località: Taranto
Re: (java) Formato tipo float
Ciao, il programma va bene, solo che l'oggetto che hoin output è di tipo String, mentre lo voglio di tipo Float perchè mi serve per ordinare i campi di una tabella.
- simo_magic
- Rampante Reduce

- Messaggi: 9496
- Iscrizione: lunedì 18 dicembre 2006, 21:37
- Località: Piemonte
Re: (java) Formato tipo float
beh è di tipo string perchè ha la virgola e il punto in mezzo
quando vai ad ordinare confronta invece della stringa dentro al vettore il risultato della funzione
che ritorna un float da una stringa prima però devi aver levato le virgole delle migliaia...
quando vai ad ordinare confronta invece della stringa dentro al vettore il risultato della funzione
Codice: Seleziona tutto
Float.parseFloat(stringa)- danilo84
- Scoppiettante Seguace

- Messaggi: 929
- Iscrizione: lunedì 27 novembre 2006, 9:24
- Località: Taranto
Re: (java) Formato tipo float
Ho fatto, solo che mi da errore:
Codice: Seleziona tutto
Exception in thread "main" java.lang.NumberFormatException: multiple points
at sun.misc.FloatingDecimal.readJavaFormatString(Unknown Source)
at java.lang.Float.parseFloat(Unknown Source)
at tren.Home.<init>(Home.java:59)
at tren.Home.main(Home.java:48)
- Giambo
- Entusiasta Emergente

- Messaggi: 1013
- Iscrizione: sabato 4 febbraio 2006, 18:36
- Località: Helvetia
Re: (java) Formato tipo float
Sbagli candeggio: Tu ordina i float, nella tabella usa una tua implementazione di TableCellRenderer per visualizzare i valori formattati come vuoi.danilo84 ha scritto: Ciao, il programma va bene, solo che l'oggetto che hoin output è di tipo String, mentre lo voglio di tipo Float perchè mi serve per ordinare i campi di una tabella.
Codice: Seleziona tutto
JTable table = new JTable();
int indiceColonnaConIFloat = ...
TableColumn col = table.getColumnModel().getColumn(indiceColonnaConIFloat );
col.setCellRenderer(new MyTableCellRenderer());
...
public class MyTableCellRenderer extends JLabel implements TableCellRenderer {
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column)
{
// 'value' e' il tuo Float.
[trasforma value nella forma voluta, la String 'result']
// assegna il Float trasformato alla JLabel
setText(result);
return this;
}
}
}
Here we are again, now place your bets
Chi c’è in linea
Visualizzano questa sezione: 0 utenti iscritti e 2 ospiti