Zoffix Znet via RT wrote: >The reason we have a negative floating point zero at all is more due to >underlying implementations at whose level such zeros are used to signal >various exceptions.
No, that's not what negative zero is about in floating point. (Maybe you're thinking of ones-complement integer formats.) In floating point, zero doesn't only represent exact zero quantities, it also represents underflow, and it's useful to know from which side of zero a quantity underflowed. Generally, IEEE 754 provides well defined semantics for signed zeroes throughout, which put negative zero on a par with positive zero. >Are you able to describe any usecases where the string cast resulting >in a positive zero as opposed to negative zero creates a problem? Getting the right zero particularly matters in trigonometry and in complex arithmetic, where the zeroes are on opposite sides of many branch cuts. For example: > atan2(0e0, -1) 3.14159265358979 > atan2(-0e0, -1) -3.14159265358979 The above behaviour is correct and desirable. In a situation where the arguments come from string input, getting this correct behaviour depends on the Str->Num conversion properly supporting signed zeroes. -zefram