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

- If non-numeric characters are encountered before any interpretable number,

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