1

我正在使用浮点数来保存分数。分数可以是整数或小数。默认情况下,浮点数显示为 0.0、1.0 等。如果数字没有小数,我需要它显示为 0、1 等。如果它有小数,那么我需要显示小数。我该怎么做?

4

3 回答 3

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);

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

好的,我已经对其进行了测试并修复了一个错误。

于 2012-08-20T21:08:30.970 回答
3

你可以使用:

NumberFormat.getInstance().format(score);

存在时以小数位显示。

为了防止舍入错误,score这里可以使用BigDecimal来表示。

于 2012-08-20T21:14:04.523 回答
0

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

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

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

于 2012-08-20T21:22:52.250 回答