This article will explain floating-point numbers and how to convert values to floating-point numbers using parseFloat() in JavaScript.
Looking to convert to an integer value instead – use parseInt()!
What is a Floating Point Number?
In programming, a floating-point number (commonly just called a float) is a number with any number of characters before or after a decimal point.
A floating-point number might look something like this:
14.392
A floating-point number or float is also a type of variable. A variable’s type determines what kind of values it can store and what can be done with the variable (for example, math can be done with numerically typed variables, array type variables can be iterated through, etc.).
A floating-point typed variable is a variable that can store a floating-point number, just as an integer type variable can store only integers.
They are an Approximation and Imprecise
When being processed by a computer, floating-point numbers are actually an approximation. This is because computers compute everything in base 2 and must store and process values as such, so many floating-point numbers will be processed as a fraction. So, naturally, this has implications for their accuracy.
We’ve put together a whole article on this that explains things properly and provides some solutions for mitigating the inaccuracies of floating-point numbers in Javascript and other programming languages.
Long story short, use floating-point numbers where appropriate. However, don’t use them when calculating currency amounts if precision is essential; you may wind up overcharging!
The JavaScript parseFloat() Function
The parseFloat() function converts a given value into a floating-point variable. It will attempt to interpret whatever is passed to it as a floating-point number and store it as such.
JavaScript parseFloat() Function Syntax
With that out of the way, here’s the syntax for the parseFloat() function:
parseFloat(NUMBER_STRING)
Note that:
- NUMBER_STRING should be a string containing a numerical value
- parseFloat() will attempt to convert it to a floating-point number
- If NUMBER_STRING is not a string, it will be converted to one
- NUMBER_STRING can contain exponent notation
- A numerical value of the float type will be returned
- If non-numeric characters are encountered before any interpretable number, NaN will be returned
- Leading white space is, however, ignored
- Any digits following non-digit characters will be discarded
Find out more about NaN (Not a Number) in our article here.
Examples – Converting to Floating-Point Numbers
Here are some examples of parseFloat() in action – the expected results are in the code comments:
parseFloat(4.25); // A floating number with value 4.25 - the number will be converted to a string and then to a float parseFloat('4.25'); // A floating number with value 4.25 - the string will be converted to a float parseFloat(' 4.25 '); // A floating number with value 4.25 - the string will be converted to a float, ignoring whitespace parseFloat('425e-3'); // A floating number with value 0.425 - the string is interpreted (including exponent e) and the value assigned to a float parseFloat('4.25some these are not digits 123'); // A floating number with value of 4.25 - as there are interpretable digits prior to the non-digit characters, they are interpreted until the first non-digit character parseFloat('OUCH342');// NaN as there are no interpretable digits prior to the first non-digit character