我想在我的应用程序中为基于数学的模块从 Java 切换到脚本语言。这是由于 mathy Java 的可读性和功能限制。
例如,在 Java 中我有这个:
BigDecimal x = new BigDecimal("1.1");
BigDecimal y = new BigDecimal("1.1");
BigDecimal z = x.multiply(y.exp(new BigDecimal("2"));
如您所见,如果没有 BigDecimal 运算符重载,简单的公式会很快变得复杂。
使用双打,这看起来不错,但我需要精度。
我希望在 Scala 中我能做到这一点:
var x = 1.1;
var y = 0.1;
print(x + y);
默认情况下,我会得到类似小数的行为,唉,Scala 默认情况下不使用小数计算。
然后我在 Scala 中执行此操作:
var x = BigDecimal(1.1);
var y = BigDecimal(0.1);
println(x + y);
我仍然得到一个不精确的结果。
有什么我在 Scala 中没有做对的事情吗?
也许我应该使用 Groovy 来最大化可读性(它默认使用小数)?