in una JSP utilizzo la classe NumberFormat per formattare un valore monetario e appenderci la valuta (quindi l'euro).
Sulla pagina web risultante mi stampa un '?', chi mi sa dire perché?
ecco il codice....
<%@ page import="java.util.*,java.text.*,currency.*"%>
<html>
<head>
<title>
currency
</title>
</head>
<body bgcolor="#ffffff">
<h1>
Currency test
</h1>
<%
double amount = 299.3456;
ProvaCurrency prova = new ProvaCurrency();
String newAmount = prova.reformat(amount);
out.print("la cifra è: ");
%>
<%= newAmount %>
Proviamo qui: €
e qui €
</body>
</html>
il codice della classe java segue:
package currency;
import java.text.*;
import java.util.Locale;
public class ProvaCurrency {
private double amount = 199.3456;
private String formattedAmount;
public ProvaCurrency() {
}
public double getAmount() {
return amount;
}
public void setAmount(double amount) {
this.amount=amount;
}
public String reformat(double amount) {
NumberFormat formattatore = NumberFormat.getCurrencyInstance();
formattedAmount=formattatore.format(amount);
System.out.println("La cifra reformattata è: " +formattedAmount);
return formattedAmount;
}
public static void main(String[] args) {
ProvaCurrency provaCurrency1 = new ProvaCurrency();
NumberFormat formattatore = NumberFormat.getCurrencyInstance();
System.out.println("la cifra è: " + formattatore.format(provaCurrency1.getAmount()));
Locale[] locale = NumberFormat.getAvailableLocales();
System.out.println("I locale disponibili sono: \n");
for (int i=0;i<locale.length;i++){
System.out.println("\nNazione: " + locale[i].getCountry() + " Lingua: " + locale[i].getLanguage());
}
}
}
Aggiungo che le system.out nella classe java stampano correttamente il simbolo dell'euro
Grazie a tutti