Java新手,對編程相對較新。下面的代碼是已經完美運行的程序的最後幾行 - 我只想將最終結果(newTuition變量)四捨五入,並將其限制爲兩個有效數字。Java - 如何將計算語句結果舍入爲兩位有效數字
newTuition,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);
歡迎SO:你說你是比較新的節目,所以這裏是一個免費的教訓:不要使用浮點類型來存儲貨幣價值。 (谷歌它爲了解釋爲什麼) – John3136 2012-07-12 06:03:44
你可以參考[this thread] [1]。 [1]:http://stackoverflow.com/questions/153724/how-to-round-a-number-to-n-decimal-places-in-java – Guanlun 2012-07-12 06:03:53
除了的愚蠢的想法使用double來存儲資金(如@ John3136所述),代碼的第一行在編譯時失敗。顯然你不能附加「。」到一個雙重價值結束期望得到雙重回報。也許'newTution'畢竟是'String'? – LisMorski 2012-07-12 06:09:26