For optimization purposes - removed call to strlen and also moved checking for the dot char as a first char to outside of the main for loop.
For negative numbers support - now returns true for negative numbers (decimal and float) unless the number after the minus sign has the value of zero (either expressed as a decimal or as a float)