The JavaScript function parseInt
can be used to force conversion of a given parameter to an integer, whether that parameter is a string, float number, number, etc.
In JavaScript, parseInt(1.2)
would yield 1
with no errors, however, in TypeScript, it throws an error during compilation saying:
error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'.
Am I missing something here or is it an expected behaviour from TypeScript?
The parseInt function converts its first argument to a string, parses that string, then returns an integer or NaN . If not NaN , the return value will be the integer that is the first argument taken as a number in the specified radix .
Use the parseInt() function to convert a string to a number, e.g. const num1 = parseInt(str) . The parseInt function takes the value to parse as a parameter and returns an integer parsed from the provided string.
Your number is too large to fit in an int which is 32 bits and only has a range of -2,147,483,648 to 2,147,483,647. Try Long. parseLong instead.
parseInt() easily converts your string to a rounded integer. In these cases, simply define your string argument and set the radix to 10 (or if you have a special use-case, another numerical value).
Don't use parseInt
to do this operation -- use Math.floor
.
Using parseInt
to floor
a number is not always going to yield correct results. parseInt(4e21)
returns 4
, not 4e21
. parseInt(-0)
returns 0
, not -0
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With