fix parse_float for -ve fractions