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
Answer from KooiInc on Stack Overflow
Top answer
1 of 5
67

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
2 of 5
33

No. Both will result in the internal ToNumber(string) function being called.

From ES5 section 15.7.1 (The Number Constructor Called as a Function):

When Number is called as a function rather than as a constructor, it performs a type conversion...

Returns a Number value (not a Number object) computed by ToNumber(value) if value was supplied, else returns +0.

From ES5 section 15.1.2.3 (parseFloat (string)):

... If neither trimmedString nor any prefix of trimmedString satisfies the syntax of a StrDecimalLiteral (see 9.3.1) ...

And 9.3.1 is the section titled "ToNumber Applied to the String Type", which is what the first quote is referring to when it says ToNumber(value).


Update (see comments)

By calling the Number constructor with the new operator, you will get an instance of the Number object, rather than a numeric literal. For example:

typeof new Number(10); //object
typeof Number(10); //number

This is defined in section 15.7.2 (The Number Constructor):

When Number is called as part of a new expression it is a constructor: it initialises the newly created object.

๐ŸŒ
Medium
medium.com โ€บ @maxheadway โ€บ the-differences-between-number-and-parsefloat-in-javascript-8ee74b961ed4
The differences between Number() and parseFloat() in Javascript | by Max Headway | Medium
February 19, 2023 - Handling of Non-numeric Characters: parseFloat stops parsing the input string and returns the numeric value parsed up to that point if it encounters a non-numeric character. Number returns NaN if it encounters a non-numeric character.
Discussions

The advantage of using Number() instead of parseInt or parseFloat
What is the advantage of using Number() instead of parseInt or parseFloat? More on sitepoint.com
๐ŸŒ sitepoint.com
1
May 30, 2023
Difference parseInt() and parseFloat()
Can anyone explain me the difference between parseInt and parseFloat? Like in what kind of situation should you use each of them? ... parseInt is for converting a non integer number to an int and parseFloat is for converting a non float (with out a decimal) to a float (with a decimal). More on teamtreehouse.com
๐ŸŒ teamtreehouse.com
3
June 8, 2016
parseFloat alternative?
It's quite obvious that parseFloat can't suddenly start parsing _, as it would likely break the web. However, parsing floats from a string is still a valid use case - and a separate one from "cast this string to a Number". I think there ... More on github.com
๐ŸŒ github.com
42
May 31, 2017
I want to have a number x and always make it a float, but js is nuts on floats? ๐Ÿคทโ€โ™‚๏ธ๐Ÿ’โ€โ™‚๏ธ๐Ÿ™†โ€โ™‚๏ธ
Mathematically, there's no difference between 5 and 5.0. This is a concern of formatting the number for display, so as already mentioned, use toFixed or Intl.NumberFormat . More on reddit.com
๐ŸŒ r/learnjavascript
36
0
January 27, 2024
๐ŸŒ
MDN Web Docs
developer.mozilla.org โ€บ en-US โ€บ docs โ€บ Web โ€บ JavaScript โ€บ Reference โ€บ Global_Objects โ€บ Number โ€บ parseFloat
Number.parseFloat() - JavaScript | MDN
The Number.parseFloat() static method parses an argument and returns a floating point number. If a number cannot be parsed from the argument, it returns NaN.
๐ŸŒ
Camchenry
camchenry.com โ€บ blog โ€บ parsefloat-vs-number
parseFloat vs Number: What's the Difference? | Cam McHenry
June 23, 2021 - Both parseFloat and Number can produce numbers from typical strings that represent numbers, but both have some caveats which have to be handled regardless of which you choose, such as parsing non-numeric inputs (like booleans, objects, arrays), as well as atypical inputs (like octal numbers and whitespace).
๐ŸŒ
SitePoint
sitepoint.com โ€บ javascript
The advantage of using Number() instead of parseInt or parseFloat
May 30, 2023 - What is the advantage of using Number() instead of parseInt or parseFloat?
๐ŸŒ
Quora
quora.com โ€บ What-is-the-difference-in-Javascript-between-Number-parseFloat-and-String-*1
What is the difference in Javascript between Number(), ...
Answer (1 of 2): Number() and parseFloat() are very different in what they do. and while they could be expected to accomplish the same things, there is still some edge differences in what they produce that developers should really be aware of. Overview As a short summary, you can consider in my...
Find elsewhere
๐ŸŒ
W3Schools
w3schools.com โ€บ jsref โ€บ jsref_parsefloat.asp
W3Schools.com
The parseFloat() method parses a value as a string and returns the first number.
๐ŸŒ
Spreadsheet.dev
spreadsheet.dev โ€บ number-parsefloat-method-javascript-apps-script
The Number object's parseFloat() method
The Number.parseFloat() method parses a string argument and returns a floating-point number.
๐ŸŒ
GeeksforGeeks
geeksforgeeks.org โ€บ javascript โ€บ javascript-number-parsefloat-method
JavaScript Number parseFloat() Method - GeeksforGeeks
July 11, 2025 - Return value: It returns a floating-point Number and if the first character of a string cannot be converted to a number then the function returns NaN i.e, not a number. ... // It ignores leading and trailing spaces. a = parseFloat(" 100 ") ...
๐ŸŒ
Codecademy
codecademy.com โ€บ docs โ€บ javascript โ€บ number methods โ€บ .parsefloat()
JavaScript | Number Methods | .parseFloat() | Codecademy
May 31, 2024 - In JavaScript, the .parseFloat() method parses a given string and returns the first floating-point number found in the string. Parsing stops when it encounters a character that is not part of a valid number.
๐ŸŒ
MDN Web Docs
developer.mozilla.org โ€บ en-US โ€บ docs โ€บ Web โ€บ JavaScript โ€บ Reference โ€บ Global_Objects โ€บ parseFloat
parseFloat() - JavaScript | MDN
The parseFloat function converts its first argument to a string, parses that string as a decimal number literal, then returns a number or NaN.
๐ŸŒ
MSR
rajamsr.com โ€บ home โ€บ javascript parsefloat(): how to avoid common mistakes
JavaScript ParseFloat(): How to Avoid Common Mistakes | MSR - Web Dev Simplified
January 28, 2024 - If a valid number is found, then it converts it to a floating-point integer. The parseFloat() function in JavaScript returns NaN if the string does not contain a valid number.
๐ŸŒ
Copahost
copahost.com โ€บ home โ€บ javascript parsefloat: examples and variations of this function
Javascript parseFloat: Examples and variations of this function - Copahost
July 16, 2023 - We can use the parseFloat method to convert a string into a floating-point number. The parseFloat method takes a string value and returns a floating-point number. But there are few rules for using parseFloat method in JavaScript.
๐ŸŒ
Medium
medium.com โ€บ @roy.elaawar โ€บ parsefloat-vs-parstint-in-javascript-4f3d345f205f
ParseFloat vs ParseInt in JavaScript | by Roy Elaawar | Medium
November 6, 2023 - But in both scenarios the result is the same. In summary, use parseInt when you want to convert a string to an integer, and use parseFloat when you want to convert a string to a floating-point number.
๐ŸŒ
Cullen Web Services
cullenwebservices.com โ€บ home โ€บ javascript numbers: number(), parseint(), parsefloat()
JavaScript Numbers: Number(), parseInt(), parseFloat() - Cullen Web Services
December 11, 2015 - parseFloat(true); //NaN parseFloat(false); //NaN parseFloat(13); //13 parseFloat("13"); //13 var j; //undefined parseFloat(j); //NaN var b=10; parseFloat(b) //10 parseFloat("1.5") //1.5 parseFloat("01.5") //1.5 parseFloat("0xA") //0 only uses decimal system parseFloat("") //NaN parseFloat("cindy"); //NaN parseFloat("123cindy") //123.123 parseFloat("4.89e7"); //48900000
๐ŸŒ
Quora
quora.com โ€บ What-is-the-difference-between-parseInt-and-parseFloat-in-JavaScript
What is the difference between parseInt() and parseFloat ...
Answer (1 of 4): In short answer, with [code ]parseInt()[/code] you can parses a string into Integer Number, and with [code ]parseFloat()[/code] you can parses a string into Floating Number.
๐ŸŒ
GitHub
github.com โ€บ tc39 โ€บ proposal-numeric-separator โ€บ issues โ€บ 11
parseFloat alternative? ยท Issue #11 ยท tc39/proposal-numeric-separator
May 31, 2017 - I think there should be a way to extract 1_000 from "1_000 a" just like I can currently parseFloat('1000 a') === 1000. Something like Number.parse, with the semantics of "grab all characters that could possibly be a number literal, and then pass them into Number()", would address this concern - and would potentially be able to evolve just as freely as Number could.
Published ย  May 31, 2017
๐ŸŒ
DEV Community
dev.to โ€บ himanshudevgupta โ€บ 7-ways-to-convert-a-string-to-number-in-javascript-35pd
7 ways to convert a String to Number in JavaScript - DEV Community
February 21, 2023 - 3. Using Unary Operator (+) The unary plus operator (+) precedes its operand and evaluates to its operand but attempts to convert it into a number, if it isn't already. const x = 25; const y = -25; console.log(+x); // expected output: 25 console.log(+y); // expected output: -25 console.log(+''); // expected output: 0 ยท 4. Using parseFloat() parseFloat() parses a string and returns a number.
๐ŸŒ
MeasureThat
measurethat.net โ€บ Benchmarks โ€บ Show โ€บ 555 โ€บ 0 โ€บ number-vs-vs-parsefloat
Benchmark: Number vs + vs parseFloat - MeasureThat.net
Number vs + vs parseFloat 23 ยท Number vs + vs parseFloat 235 ยท Implicit vs parseFloat vs Number string to num ยท Number vs + vs parseFloat + properties px ยท Number vs + vs parseFloat v2 ยท Comments ยท Do you really want to delete benchmark?