More human readable `$`(float)

The output matches that of Python (eg 1e100, not 1.0e100), but also
reflects locale (assuming it was set using setlocale() before).
Tests for `$`(float)