                On-line Guides All Guides eBook Store iOS / Android Linux for Beginners Office Productivity Linux Installation Linux Security Linux Utilities Linux Virtualization Linux Kernel System/Network Admin Programming Scripting Languages Development Tools Web Development GUI Toolkits/Desktop Databases Mail Systems openSolaris Eclipse Documentation Techotopia.com Virtuatopia.com How To Guides Virtualization General System Admin Linux Security Linux Filesystems Web Servers Graphics & Desktop PC Hardware Windows Problem Solutions Privacy Policy  The JavaScript FAQ
Prev Home Next

### Converting Strings to Numbers

Question: How do I convert strings to numbers in JavaScript?

Answer: To convert a string to a number, use the JavaScript function `parseFloat` (for conversion to a floating-point number) or `parseInt` (for conversion to an integer).

parseFloat syntax:   `parseFloat('string')`

How it works:
The argument of `parseFloat` must be a string or a string expression. The result of `parseFloat` is the number whose decimal representation was contained in that string (or the number found in the beginning of the string). If the string argument cannot be parsed as a decimal number, the results will be different in different browsers (either `0` or `NaN`).

Examples (comments in each line give the conversion results):

```parseFloat('1.45kg')  // 1.45
parseFloat('77.3')    // 77.3
parseFloat('077.3')   // 77.3
parseFloat('0x77.3')  // 0
parseFloat('.3')      // 0.3
parseFloat('0.1e6')   // 100000
```

parseInt syntax:   ```parseInt( 'string' [, base] ) ```

How it works:
The first argument of `parseInt` must be a string or a string expression. The result returned by `parseInt` is an integer whose representation was contained in that string (or the integer found in the beginning of the string). The second argument (`base`), if present, specifies the base (radix) of the number whose string representation is contained in the `string`. The `base` argument can be any integer from 2 to 36.

If there is only one argument, the number base is detected according to the general JavaScript syntax for numbers. Strings that begin with `0x` or `-0x` are parsed as hexadecimals; strings that begin with `0` or `-0` are parsed as octal numbers. All other strings are parsed as decimal numbers.

If the string argument cannot be parsed as an integer, the results will be different in different browsers (either `0` or `NaN`).

Examples (comments in each line give the conversion results):

```parseInt('123.45')  // 123
parseInt('77')      // 77
parseInt('077',10)  // 77
parseInt('77',8)    // 63  (= 7 + 7*8)
parseInt('077')     // 63  (= 7 + 7*8)
parseInt('77',16)   // 119 (= 7 + 7*16)
parseInt('0x77')    // 119 (= 7 + 7*16)
parseInt('099')     // 0 (9 is not an octal digit)
parseInt('99',8)    // 0 or NaN, depending on the platform
parseInt('0.1e6')   // 0
parseInt('ZZ',36)   // 1295 (= 35 + 35*36)
``` 