IIRC the -0.00 representation happens when you're using sprintf("%0.2f",$some_number_very_slighty_less_than_zero). The last two digits happen because they were specified in the format string. the minus sign is supposedly because that's how the C stdio lib does that.
update:
#include "stdio.h"
int main() {
printf("%0.2f\n",-0.000000000000000000000000001);
}