Valor duplo com precisão específica em java

Estou programando um programa java simples. Eu preciso obter uma seqüência de entrada e dividi-lo em duas partes: 1-double 2-string. Então eu preciso fazer um cálculo simples no duplo e enviar o resultado para a saída com precisão específica (4). Funciona bem, mas há um problema quando a entrada é 0, então não funciona corretamente.

Por exemplo, para essas entradas, a saída será:

1 kg
produção: 2.2046

3,1 kg
produção: 6.8343

Mas quando a entrada é 0, a saída deve ser 0,0000, mas mostra 0,0. O que devo fazer para forçá-lo a mostrar 0,0000?

Eu li post semelhante sobre precisão dupla, eles sugerem algo comoBigDecimal classe, mas eu não posso usá-los neste caso, meu código para fazer isso é:

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");

questionAnswers(5)

yourAnswerToTheQuestion