Wouldn't be more efficient to do the following, assuming that the full Java compilation chain respects the trickiness of 0 vs -0:
if (d == 0.0) { d=0.0 // Jam -0 == +0 to +0, per http://www.w3.org/TR/xpath/#function-string } Division's plenty more expensive than assigning a constant, especially on platforms that lack hardware FP division. David On 2013-06-07, at 2:03 AM, huizhe wang <huizhe.w...@oracle.com> wrote: > Hi Aleksej, > > According to XPath spec, both positive and negative zero are converted to the > string 0, so it seems doesn't matter. But if you want to detect the negative > zero, you may do the following: > if (d == 0.0 && 1/d < 0.0) { > d=0.0 > } > > Recognizing that (-0.0 == 0.0), and (1/(-0.0) == -Infinity). > > -Joe