我正在使用jdk 1.8.0_45,並且我們的測試發現了路由中的一個錯誤。 RoundingMode.HALF_DOWN的工作方式相同RoundingMode.HALF_UP當決定舍入的最後一位小數是5Java8中的RoundingMode.HALF_DOWN問題
我發現相關問題與RoundingMode.HALF_UP,但它們固定在更新40.我也把錯誤的oracle,但從我的經驗來看,他們確實沒有反應。
package testjava8;
import java.math.RoundingMode;
import java.text.DecimalFormat;
public class Formatori {
public static void main(String[] args) {
DecimalFormat format = new DecimalFormat("#,##0.0000");
format.setRoundingMode(RoundingMode.HALF_DOWN);
Double toFormat = 10.55555;
System.out.println("Round down");
System.out.println(format.format(toFormat));
format.setRoundingMode(RoundingMode.HALF_UP);
toFormat = 10.55555;
System.out.println("Round up");
System.out.println(format.format(toFormat));
}
}
實際結果: 回合下來 10.5556 四捨五入 10.5556
預期結果(獲得與JDK 1.7): 回合下來 10.5555 四捨五入 10.5556
該錯誤不能用jdk 1.8.0_45重現。我讀到你說的問題,但不是同一個問題。這個問題已經解決。 – cristi