fixes formatting and parsing of numbers

* negative numbers were not detected
* String.format is non existent
* considers culture settings on Number parsing (here in germany 9,41 should not be parsed to 9)
* exponential formatting was missing culture awareness