如果float是一个整数(java),请将小数位数设置为0?

时间:2012-08-20 21:03:45

标签: java floating-point integer decimal

我用浮球拿分数。分数可以是整数或小数。默认情况下,浮点数显示为0.0,1.0等。如果数字没有小数,我需要它显示为0,1等。如果它有一个小数,那么我需要显示小数。我怎么能这样做?

3 个答案:

答案 0 :(得分:3)

String string;
float n = 3.0f;
if (n % 1 == 0) {
    string = String.valueOf((int) n);
} else {
    string = String.valueOf(n);
}
System.out.println("Score: " + string);

警告:未经测试的代码。 ;)

好的,我测试了它并修正了错误。

答案 1 :(得分:3)

您可以使用:

NumberFormat.getInstance().format(score);

在显示时显示小数位。

为了对抗舍入错误,score可以使用BigDecimal来表示。

答案 2 :(得分:0)

您最好的选择是计算出最小的分数粒度,然后使用适当的乘数。

例如,如果最小增量为0.01,则使用乘数100.如果您的分数%mulitplier = 0,那么您就知道它的整数。

这样你就不必担心舍入或表示错误。