11
Float sum = new Float(300); // always somehow calculated
DecimalFormat df = new DecimalFormat("#.#");
String s = df.format(sum/3);  // prints 100, I want 100.0
s = df.format(301/3); // pritns 100.3 which is correct

结果应始终格式化为小数点后 1 位,该怎么做?

4

2 回答 2

38

改变

DecimalFormat df = new DecimalFormat("#.#");

DecimalFormat df = new DecimalFormat("#.0");

基本上,0 表示“始终在此位置显示数字”,其中 # 表示“在此位置显示数字,除非它为零”。

于 2010-08-30T15:08:28.890 回答
7

您可以在此处阅读有关模式的信息。将以下行更改为应该可以解决问题。

DecimalFormat df = new DecimalFormat("#.0");
于 2010-08-30T15:07:47.957 回答