我的计划中Groovy
计算出错了什么?
public class GroovyRunner {
public static void main(String[] args) throws Exception {
new GroovyShell().parse(new File("hello.groovy")).invokeMethod("show", null);
}
}
hello.groovy
def show() {
float a = 0.1;
float c = 0.1;
float d = 0.2;
if(a + c == d) {
println "Equal"
} else {
println "Not Equal"
}
}
The result is `Equal`
当我更改c
和d
变量的值时,如下所示。结果是Not Equal
hello.groovy
def show() {
float a = 0.1;
float c = 0.2;
float d = 0.3;
if(a + c == d) {
println "Equal"
} else {
println "Not Equal"
}
}
我决定使用Groovy
,因为我希望避免Javascript
引擎的浮点计算。
Groovy计算为Javascript
?
答案 0 :(得分:0)
而不是:
float a = 0.1;
float c = 0.2;
float d = 0.3;
使用:
def a = 0.1
def c = 0.2
def d = 0.3
Groovy将自动处理并提供正确的结果。