6

以下:

new MathContext(precision, RoundingMode.HALF_UP);

動作するようです。ただし、次の場合はエラーが返されます。

new MathContext(precision, BigDecimal.ROUND_HALF_UP);

エラー:

java: no suitable constructor found for MathContext(int,int)
    constructor java.math.MathContext.MathContext(java.lang.String) is not applicable
      (actual and formal argument lists differ in length)
    constructor java.math.MathContext.MathContext(int,java.math.RoundingMode) is not applicable
      (actual argument int cannot be converted to java.math.RoundingMode by method invocation conversion)
    constructor java.math.MathContext.MathContext(int) is not applicable
      (actual and formal argument lists differ in length)
4

2 に答える 2

3

定数に注意してください:

RoundingMode.HALF_UP
BigDecimal.ROUND_HALF_UP

Javadocs とソースコードによると、まったく同じ意味です。

public enum RoundingMode {
....
HALF_UP(BigDecimal.ROUND_HALF_UP),
....
} 
于 2014-01-21T07:46:39.573 に答える