Relawan kami belum menerjemahkan artikel ini ke bahasa Bahasa Indonesia. Bergabunglah dan bantu kami menyelesaikannya!
Anda juga dapat membaca artikel ini dalam English (US).

The parseFloat() function parses an argument and returns a floating point number.




The value you want to parse.

Return value

A floating point number parsed from the given value. If the value cannot be converted to a number, NaN is returned.


parseFloat is a top-level function and is not associated with any object.

parseFloat parses its argument, and returns a floating point number. If it encounters a character other than a sign (+ or -), numeral (0-9), a decimal point, or an exponent, it returns the value up to that point and ignores that character and all succeeding characters. Leading and trailing spaces are allowed.

If the value is a string and first character cannot be converted to a number, parseFloat returns NaN.

For arithmetic purposes, the NaN value is not a number in any radix. You can call the isNaN function to determine if the result of parseFloat is NaN. If NaN is passed on to arithmetic operations, the operation results will also be NaN.

parseFloat can also parse and return the value Infinity. You can use the isFinite function to determine if the result is a finite number (not Infinity, -Infinity, or NaN).

parseFloat is also able to parse an object if it has a toString or valueOf method defined. The returned value is the same as if parseFloat had been called on the result of calling that method.


parseFloat returning a number

The following examples all return 3.14

parseFloat('3.14more non-digit characters');

var foo = Object.create(null);
foo.toString = function () { return "3.14"; };

var foo = Object.create(null);
foo.valueOf = function () { return "3.14"; }; 


parseFloat returning NaN

The following example returns NaN


A stricter parse function

It is sometime useful to have a stricter way to parse float values, regular expressions can help :

var filterFloat = function(value) {
    if (/^(\-|\+)?([0-9]+(\.[0-9]+)?|Infinity)$/
      return Number(value);
  return NaN;

console.log(filterFloat('421'));               // 421
console.log(filterFloat('-421'));              // -421
console.log(filterFloat('+421'));              // 421
console.log(filterFloat('Infinity'));          // Infinity
console.log(filterFloat('1.61803398875'));     // 1.61803398875
console.log(filterFloat('421e+0'));            // NaN
console.log(filterFloat('421hop'));            // NaN
console.log(filterFloat('hop1.61803398875'));  // NaN

Note that this code is an example only; it does not accept valid numbers such as 1. or .5.


Specification Status Comment
ECMAScript 1st Edition (ECMA-262) Standard Initial definition.
ECMAScript 5.1 (ECMA-262)
The definition of 'parseFloat' in that specification.
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'parseFloat' in that specification.
ECMAScript Latest Draft (ECMA-262)
The definition of 'parseFloat' in that specification.

Browser compatibility

Update compatibility data on GitHub
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidEdge MobileFirefox for AndroidOpera for AndroidSafari on iOSSamsung InternetNode.js
Basic supportChrome Full support YesEdge Full support YesFirefox Full support 1IE Full support YesOpera Full support YesSafari Full support YesWebView Android Full support YesChrome Android Full support YesEdge Mobile Full support YesFirefox Android Full support 4Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yesnodejs Full support Yes


Full support  
Full support

See also

Tag Dokumen dan Kontributor

Terakhir diperbarui oleh: rjmunro,