2011-03-03 18 views
28

¿Cómo puedo formatear un Doble con String.format en Cadena con un punto entre el entero y la parte decimal?Cómo formatear ¿Doble con punto?

String s = String.format("%.2f", price); 

Los formatos anteriores solo con una coma: ",".

+5

Esto depende locale. – Aillyn

Respuesta

74

String.format(String, Object ...) está utilizando la configuración regional predeterminada de su JVM. Puede usar cualquier configuración regional usando String.format(Locale, String, Object ...) o java.util.Formatter directamente.

String s = String.format(Locale.US, "%.2f", price); 

o

String s = new Formatter(Locale.US).format("%.2f", price); 

o

// do this at application startup, e.g. in your main() method 
Locale.setDefault(Locale.US); 

// now you can use String.format(..) as you did before 
String s = String.format("%.2f", price); 

o

// set locale using system properties at JVM startup 
java -Duser.language=en -Duser.region=US ... 
+1

Agregando a la lista: (nuevo DecimalFormat ("0. ##", nuevo DecimalFormatSymbols (Locale.US))). Formato (precio); – user1154664

-1

Si funciona igual que en PHP y C#, es posible que deba establecer su configuración regional de alguna manera. Puede encontrar algo más sobre eso en el Java Internationalization FAQ.

Cuestiones relacionadas