fixed a bug in numberToString (was unable to handle negative numbers in scientific notation) + added a test for that function [ci skip]