我定义了两个 double :
double abc1 = 0.0001;
double abc2 = 0.0001;
现在如果我打印它们:
println "Abc1 "+abc1;
println "Abc2 "+abc2;
它返回:
Abc1 1.0E-4
Abc2 1.0E-4
如果我添加它们:
println "Abc3 "+abc1+abc2;
它返回:
Abc3 1.0E-41.0E-4
而不是:
Abc3 2.0E-4
为什么会这样?
最佳答案
这是因为加法运算符从 开始工作。从左到右 并且您从字符串开始,因此加法运算符用作 串联 您的情况下的运算符。
这:
println "Abc3 "+abc1+abc2;
将像这样一步一步完成:
println "Abc3 "+abc1+abc2;
println "Abc3 1.0E-4"+abc2;
println "Abc3 1.0E-41.0E-4";
解决方案
如果你想得到你期望的结果,这样做:
println "Abc3 " + (abc1 + abc2);
在这里,您优先考虑 补充 在 之前连接 .
关于groovy - 在 groovy 中添加 double ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30617790/