我在编写一个简单的java程序。我需要从输入中获取一个字符串,并将其分为两部分:1双2字符串。 然后我需要对double进行简单的计算,并将结果以特定的精度发送到输出(4)。它工作正常,但输入为0时出现问题,则无法正常工作。在java中具有特定精度的双精度值
例如,对于这些输入,输出将是:
1公斤
输出:2.2046
3.1公斤
输出:6.8343
但是,当输入为0时,输出应为0.0000,但它显示为0.0。 我该如何强制显示0.0000?
我读到双精度类似的职位,他们认为像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");
试试 “%0.4F”。这意味着'格式化一个浮点值,填充零直到你有4位数'。 – user268396
我使用“%.4f”,但它显示此错误:异常在线程“main”java.util.MissingFormatWidthException:0.4f – MehrdadSComputer
另请参见http://stackoverflow.com/questions/10959424/show-only-two-小数点后的数字,但这不是重复的,因为格式想要为0. – Raedwald