если пользователь введёт "32.43
a", я посмотрю, чем плюс лучше parseFloat.
PS для проверки того, является ли аргумент (в данном случае, строка) нормальным числовым представлением, есть функция isFinite :
isFinite("32"); // true
isFinite("32.5"); // true
isFinite("23k"); // false