这可能特别奇怪,但我必须针对 GCJ 编译几个新代码;不支持 Java 的 BigDecimal。
我正在寻找的是 java.math.BigDecimal 的替代品。
谁能指出我正确的方向?
谢谢!
这可能特别奇怪,但我必须针对 GCJ 编译几个新代码;不支持 Java 的 BigDecimal。
我正在寻找的是 java.math.BigDecimal 的替代品。
谁能指出我正确的方向?
谢谢!
看起来 gcj 正在针对 JDK 1.4.2 进行编译,它只提供setScale(int scale, int roundingMode)
和setScale(int scale)
.
您尝试编译的代码似乎是为 JDK 1.5.0 及更高版本编写的。在 JDK 1.5.0setScale(int newScale, RoundingMode roundingMode)
中,除了其他两个之外,您还可以获得。
您可以查看 gcj 是否有允许使用 1.5 的更新。从查看gcj 网站,我不认为是这种情况。它说当前版本“支持大多数 1.4 库以及一些 1.5 附加功能”。
您的另一个选择是重写代码,以便调用setScale(int newScale, RoundingMode roundingMode)
替换为setScale(int scale, int roundingMode)
. 在 1.5.0 中,您可以使用枚举指定它,而不是为roundingMode
(使用静态整数)指定一个整数值(为了向后兼容,仍然保留旧方法)。BigDecimal
RoundingMode
因此,在您的代码中RoundingMode.CEILING
,您将使用BigDecimal.ROUND_CEILING
.