Java BigDecimal 替代库

标签 java bigdecimal gcj

这可能特别奇怪,但我必须针对 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.0 中,除了其他两个之外,您还获得了 setScale(int newScale, RoundingMode roundingMode)

您可以查看是否有 gcj 更新可以使用 1.5。通过查看 gcj website ,我认为情况并非如此。它表示当前版本“支持大部分 1.4 库以及一些 1.5 添加的内容。”

您的另一个选择是重写代码,以便将对 setScale(int newScale, RoundingMode roundingMode) 的调用替换为 setScale(int scale, int roundingMode)。在 1.5.0 中,不是为 roundingMode 指定整数值(使用 BigDecimal 中的静态整数),而是可以使用 RoundingMode 指定它枚举(为了向后兼容,仍然保留旧方法)。

因此在您的代码中,您将使用 BigDecimal.ROUND_CEILING 而不是 RoundingMode.CEILING

关于Java BigDecimal 替代库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4798592/

相关文章:

java - 优化 BigDecimal 数四舍五入的代码

java - GJC——一个外部 jar

java - 如何加密来自url的视频并将加密的视频保存到设备的SD卡

java - 优化 GAE 数据存储读取

programming-languages - 哪些编程语言支持任意精度算术?

java - GNU Java 编译器是否支持 JNA?

java - GCJ javax.swing.GroupLayout

java - 如何在 Swing 中使用拖放来获取文件路径?

java - 试图找出如何编写一个程序来识别相同的数字

java - 从 BigDecimal 实例中删除不必要的零