0

Java は初めてで、プログラミングは比較的新しいです。以下のコードは、すでに完全に実行されているプログラムの最後の数行です。最終結果 (newTuition 変数) を四捨五入して、有効数字 2 桁に制限したいだけです。

newTuition、TUITIONINCREASE、tuition はすべて 2 倍です。

    newTuition = ((TUITIONINCREASE * .01) * tuition) + tuition + ".");
    System.out.println("Your current tuition is $" + tuition + ". It will rise next year by " + TUITIONINCREASE + "% and " +
    "your new tuition will be $" + newTuition);
4

2 に答える 2

2

コメンテーターは正しいです。これには浮動小数点数を使用しないでください。必要なのは BigDecimal クラスです。これにより、数学演算中に精度が維持され、丸めと切り捨てのメソッドが含まれます。

http://docs.oracle.com/javase/7/docs/api/java/math/BigDecimal.html

于 2012-07-12T06:09:55.013 に答える
1

BigDecimal.Round を使用します: http://docs.oracle.com/javase/1.5.0/docs/api/java/math/BigDecimal.html#round(java.math.MathContext

このような:

BigDecimal rounded = value.round(new MathContext(2, RoundingMode.HALF_UP));
System.out.println(value + ": " + rounded);
于 2012-07-12T06:09:21.043 に答える