Formateo de números de coma flotante

Tengo una variable de tipo double, necesito imprimirla en hasta 3 decimales de precisión, pero no debería tener ceros finales ...

p.ej. Necesito

2.5 // not 2.500
2   // not 2.000
1.375 // exactly till 3 decimals
2.12  // not 2.120

Intenté usar DecimalFormatter, ¿lo estoy haciendo mal?

DecimalFormat myFormatter = new DecimalFormat("0.000");
myFormatter.setDecimalSeparatorAlwaysShown(false);

Gracias. :)

Respuesta 1

Pruebe el patrón en "0.###"lugar de "0.000":

import java.text.DecimalFormat;

public class Main {
    public static void main(String[] args) {
        DecimalFormat df = new DecimalFormat("0.###");
        double[] tests = {2.50, 2.0, 1.3751212, 2.1200};
        for(double d : tests) {
            System.out.println(df.format(d));
        }
    }
}

salida:

2.5
2
1.375
2.12
Respuesta: 2

Su solución es casi correcta, pero debe reemplazar los ceros '0' en el patrón de formato decimal por hashes "#".

Entonces debería verse así:

DecimalFormat myFormatter = new DecimalFormat("#.###");

Y esa línea no es necesaria (como decimalSeparatorAlwaysShownes falsepor defecto):

myFormatter.setDecimalSeparatorAlwaysShown(false);

Aquí hay un breve resumen de javadocs:

Symbol  Location    Localized?  Meaning
0   Number  Yes Digit
#   Number  Yes Digit, zero shows as absent

Y el enlace a javadoc: DecimalFormat

Respuesta: 3

Mi objetivo es permitir que Alpine ejecute JRE no compatible con musl. La motivación detrás de esto es la minimización del tamaño de la imagen, he logrado un cierto progreso para comprimir el JRE en sí, pero el mínimo ...

Estoy mezclando controles JavaFX para hacer pivotar la aplicación. Quiero usar el Control WebView de JavaFX en la aplicación Swing. ¿Puedo examinar los archivos HTML almacenados en el disco duro local del cliente como puedo mostrar ...

1) ¿Hay alguna diferencia entre estas dos palabras clave para los elementos de las colecciones? (Copie esos elementos a la otra colección y agregue Todos esos elementos a la otra colección)

En mi aplicación, quiero usar la API de OpenWeatherMap para mostrar información meteorológica de las ciudades. Para esto quiero cambiar el lenguaje de descripción a farsi. Recibo esto con la ayuda de OpenWeatherMap y escribo a continuación la URL: http: ...