Doppelter Wert mit spezifischer Genauigkeit in Java

Ich programmiere ein einfaches Java-Programm. Ich muss eine Zeichenfolge aus der Eingabe abrufen und in zwei Teile teilen: 1-double 2-string. Dann muss ich eine einfache Doppelberechnung durchführen und das Ergebnis mit einer bestimmten Genauigkeit an den Ausgang senden (4). Es funktioniert gut, aber es gibt ein Problem, wenn der Eingang 0 ist, dann funktioniert es nicht richtig.

Für diese Eingaben wird beispielsweise Folgendes ausgegeben:

1 kg
Ausgabe: 2.2046

3,1 kg
Ausgabe: 6.8343

Wenn der Eingang jedoch 0 ist, sollte der Ausgang 0,0000 sein, aber es wird 0,0 angezeigt. Was kann ich tun, um die Anzeige von 0.0000 zu erzwingen?

Ich habe einen ähnlichen Beitrag über doppelte Präzision gelesen, sie schlagen so etwas vorBigDecimal Klasse, aber ich kann sie in diesem Fall nicht verwenden, mein Code dafür ist:

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