Java新手,编程新手。下面的代码是一个已经完美运行的程序的最后几行——我只想对最终结果(newTution变量)进行四舍五入,并将其限制为两个有效数字。
newTution、TUITIONINCREASE和学费都是双倍的。
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);
注释是正确的。不要使用浮点数。您需要的是BigDecimal类。这将在数学运算过程中为您保留精度,并包含舍入和截断方法。
http://docs.oracle.com/javase/7/docs/api/java/math/BigDecimal.html
使用BigDecimal。四舍五入: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);