在Java中,我可以区分0D and -0D:
new Double("0").equals(new Double("-0")) // false
但显然,在GWT将我的Java转换为JavaScript之后,这似乎不再起作用了。我甚至在GWT dev-mode中获得false
但在GWT super-dev-mode中获得true
。
我在JavaScript中read
0.0 === -0.0 // true
但
Object.is(0, -0) // false
如何强制GWT使用Object.is
比较?或者是否还有其他解决方案来检查我是否有零或正零?
答案 0 :(得分:1)
您可以使用使用Object.is
:
public static native boolean compareDoubles(Double a, Double b) /*-{
return Object.is(a, b);
}-*/;
答案 1 :(得分:0)
好的,经过一些研究后,我想出了一个使用JSNI的解决方案:
native boolean isNegative(double value)
/*-{
return 1 / value < 0;
}-*/;
由于1/-0
在JavaScript中生成-Infinity
,因此可以使用。{/ p>