Due to the special case of when the digits string was longer than 1 but
only contained the negative sign and a 0, it was incorrectly stripping
the 0 and attempting to parse "-" as a number.
The solution is to check an extra position along to make sure a trailing
0 is not immediately preceeded by a negetive sign.
Fixes#543