我可以用system。out。print吗?


当前回答

你可以使用下面的快速代码,它在最后改变了自己。加上这个点后面有多少个0

float y1 = 0.123456789;
DecimalFormat df = new DecimalFormat("#.00");  
y1 = Float.valueOf(df.format(y1));

变量y1之前等于0.123456789。在代码之后,它只会变成0.12。

其他回答

一个简单的技巧是生成一个更短的变量,将其与100相乘,四舍五入,然后再除以100.0。这样你就生成了一个小数点后2位的变量:

double new_variable = Math.round(old_variable*100) / 100.0;

这个“廉价的技巧”对我来说已经足够好了,并且适用于任何语言(我不是Java人,只是学习它)。

在Java中输出小数点后2位的浮点数:

    float f = (float)11/3;
    System.out.print(String.format("%.2f",f));

输出:3.67

>使用%。3f表示小数点后三位。

很多人都提到过DecimalFormat。但是如果你有最新版本的Java,你也可以使用printf:

System.out.printf("%1.2f", 3.14159D);

有关printf格式字符串的更多信息,请参阅Formatter上的文档。

public String getDecimalNumber(String number) {
        Double d=Double.parseDouble(number);
        return String.format("%.5f", d);
}

还要注意NumberFormatException

你可以使用下面的快速代码,它在最后改变了自己。加上这个点后面有多少个0

float y1 = 0.123456789;
DecimalFormat df = new DecimalFormat("#.00");  
y1 = Float.valueOf(df.format(y1));

变量y1之前等于0.123456789。在代码之后,它只会变成0.12。