What I find much more problematic than 0.0 having a sign is that ruby treats 0.0000000000000000001 == 0.0 as true. If I've counted correct that should be 1 * 10^-19. Doubles can represent Numbers down to approx. 10^-300. 1e-300 == 0.0 is false in ruby, as it should be. There must be a bug in the interpreter, where it reads Float literals. Tobias