I developed a web application in Java8 under Windows7, I generated the war file and I deployed it on Tomcat8 under Ubuntu; everything works fine but when I format and print numbers I get different outputs. In Windows for example I print "74,00" but in Linux i get "74..00". Here is my code:
// call method
formatCurrency(String.format("%.2f", amount));
// method
private String formatCurrency(String number){
String formattedNumber = "";
try {
String[] support = number.split(",");
String intero = support[0];
if (intero.length() > 3){
formattedNumber = intero.substring(0, intero.length() - 3) + "." + intero.substring(intero.length() - 3);
if (intero.substring(0, intero.length() - 3).length() > 3){
formattedNumber = intero.substring(0, intero.length() - 6) + "." + formattedNumber;
}
}
else
formattedNumber = support[0];
formattedNumber = formattedNumber + "," + support[1];
}
catch (Exception ex) {
System.out.println("errore in stampa " + ex);
}
return formattedNumber;
}
String numbersmells like contradiction to me