This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.
The Number.parseInt() static method parses a string argument and returns an integer of the specified radix or base.
function roughScale(x, base) {
const parsed = Number.parseInt(x, base);
if (Number.isNaN(parsed)) {
return 0;
}
return parsed * 100;
}
console.log(roughScale(" 0xF", 16));
// Expected output: 1500
console.log(roughScale("321", 2));
// Expected output: 0
Number.parseInt(string) Number.parseInt(string, radix)
stringThe value to parse, coerced to a string. Leading whitespace in this argument is ignored.
radix OptionalAn integer between 2 and 36 that represents the radix (the base in mathematical numeral systems) of the string.
If radix is undefined or 0, it is assumed to be 10 except when the number begins with the code unit pairs 0x or 0X, in which case a radix of 16 is assumed.
An integer parsed from the given string.
If the radix is smaller than 2 or bigger than 36, or the first non-whitespace character cannot be converted to a number, NaN is returned.
This method has the same functionality as the global parseInt() function:
Number.parseInt === parseInt; // true
Its purpose is modularization of globals. Please see parseInt() for more detail and examples.
| Desktop | Mobile | Server | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | Bun | Deno | Node.js | |
parseInt |
34 | 12 | 25 | 21 | 9 | 34 | 25 | 21 | 9 | 2.0 | 37 | 9 | 1.0.0 | 1.0 | 0.12.0 |
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/parseInt