1

私は次のような質問をしています。たとえば、zzi = 95 の場合、myNum は 32.33 として正しく表示されます。

ただし、zzi = 94 の場合、myNum は 32.00 ではなく 32.0 と表示されます。

32.00と表示するには?

float xFunction(int zzi) {

    float myNum = (zzi + 2);
    myNum = myNum / 3;
    int precision = 100; // keep 4 digits
    myNum = (float) (Math.floor(myNum * precision + .5) / precision);
    return myNum;
}

前にありがとう。

4

4 に答える 4

0

覚えて:

1)小数点以下 2 桁を表示する数値を印刷することは、実際のを四捨五入することとは大きく異なります。つまり「表現」!= 実際の値。

2) 浮動小数点値は常に不正確です。丸めを行っても、「正確な値」が得られる場合と得られない場合があります。

そうは言っても、最も簡単なアプローチは次のとおりです。

float myNum = ((123.456 * 100.0) + .5) / 100.0;

new DecimalFormat("#.##").format(myNum );

于 2013-05-06T22:26:57.273 に答える