Java中具有特定精度的双精度值
我正在编写一个简单的java程序。我需要从输入中获取一个字符串并将其分为两部分:1-双2-字符串。然后,我需要对双精度进行简单的计算,并将结果发送到输出,并具有特定的精度(4)。它工作正常,但是当输入为0时出现问题,然后它无法正常工作。
例如,对于这些输入,输出将为:
1公斤
产量:2.2046
3.1 kg
产量:6.8343
但是当输入为 0 时,输出应为 0.0000,但它显示 0.0 。我该怎么做才能强制它显示0.0000?
我读了类似的关于双精度的文章,他们建议像class这样的东西,但在这种情况下我不能使用它们,我这样做的代码是:BigDecimal
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");