Doble valor con precisión específica en java.

Estoy programando un sencillo programa java. Necesito obtener una cadena de entrada y dividirla en dos partes: 1-doble 2-cadena. Entonces necesito hacer un cálculo simple en el doble y enviar el resultado a la salida con precisión específica (4). Funciona bien, pero hay un problema cuando la entrada es 0, entonces no funciona correctamente.

Por ejemplo, para estas entradas, la salida será:

1 kilogramo
salida: 2.2046

3,1 kg
salida: 6.8343

Pero cuando la entrada es 0, la salida debería ser 0.0000, pero muestra 0.0. ¿Qué debo hacer para forzarlo a mostrar 0.0000?

Leí un post similar sobre doble precisión, sugieren algo así comoBigDecimal clase, pero no puedo usarlos en este caso, mi código para hacer esto es:

line=input.nextLine();
array=line.split(" ");
value=Double.parseDouble(array[0]);
type=array[1];
value =value*2.2046;
String s = String.format("%.4f", value);
value = Double.parseDouble(s);
System.out.print(value+" kg\n");

Respuestas a la pregunta(5)

Su respuesta a la pregunta