What is the difference between parseInt(string) and Number(string) in JavaScript has been asked previously.
But the answers basically focused on the radix
and the ability of parseInt
to take a string like "123htg"
and turn it into 123
.
What I am asking here is if there is any big difference between the returns of Number(...)
and parseFloat(...)
when you pass it an actual number string with no radix at all.
The internal workings are not that different, as @James Allardic already answered. There is a difference though. Using parseFloat
, a (trimmed) string starting with one or more numeric characters followed by alphanumeric characters can convert to a Number, with Number
that will not succeed. As in:
parseFloat('3.23abc'); //=> 3.23
Number('3.23abc'); //=> NaN
In both conversions, the input string is trimmed, by the way:
parseFloat(' 3.23abc '); //=> 3.23
Number(' 3.23 '); //=> 3.23