スコアを保持するためにフロートを使用しています。スコアは整数または小数です。デフォルトでは、float は 0.0、1.0 などとして表示されます。数値に小数がない場合は、0、1 などとして表示する必要があります。小数がある場合は、小数を表示する必要があります。どうすればこれを行うことができますか?
質問する
2852 次
3 に答える
3
あなたが使用することができます:
NumberFormat.getInstance().format(score);
存在する場合は小数点以下の桁数で表示します。
丸め誤差に対抗するために、ここではBigDecimalscore
を使用して表すことができます。
于 2012-08-20T21:14:04.523 に答える
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 に答える
0
あなたの最善の策は、最小の粒度のスコアを計算し、それを適切な乗数で使用することです。
たとえば、最小の増分が 0.01 の場合、100 の乗数を使用します。また、スコア % 乗数 = 0 の場合、それが整数であることがわかります。
そうすれば、丸めや表現エラーについて心配する必要はありません。
于 2012-08-20T21:22:52.250 に答える