Double de la valeur avec précision spécifique à java

Je suis de la programmation d'un programme java simple. J'ai besoin d'obtenir une chaîne de caractères d'entrée et de le diviser en deux parties: 1-double-2-chaîne.
Ensuite, j'ai besoin de faire un simple calcul sur le double et envoyer le résultat à la sortie avec précision spécifique(4). Il fonctionne très bien, mais il y a un problème lorsque l'entrée est à 0, alors il ne fonctionne pas correctement.

Par exemple, pour ces d'entrée, de sortie sera:

1 kg
sortie:2.2046

3.1 kg
sortie:6.8343

Mais lorsque l'entrée est à 0, la sortie doit être 0.0000, mais il montre 0.0 .
Que dois-je faire pour le forcer à montrer 0.0000?

J'ai lu similaire post sur double précision, ils suggèrent quelque chose comme BigDecimal classe, mais je ne peux pas les utiliser dans ce cas,
mon code pour le faire, c'est:

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");
Essayez "%0,4 f". Cela signifie que le format d'une valeur à virgule flottante, le pad avec des zéros jusqu'à ce que vous avez à 4 chiffres".
j'ai utilisé "%.4f", mais il affiche cette erreur: Exception in thread "main" java.util.MissingFormatWidthException: 0.4 f
Voir aussi stackoverflow.com/questions/10959424/... mais ce n'est pas un doublon de cette raison de la mise en forme voulais pour 0.

OriginalL'auteur MehrdadSComputer | 2013-09-22