Number(): Searches the entire string for numbers. If it finds anything else, it will return NaN (short for Not a Number).
parseInt() / parseFloat(): Returns the first number in the string, ignoring the rest. If there are no numbers at the beginning of the string, it will return NaN.
let's take an example:
Example 1:
let a = "1hola1";
console.log(Number(a));
console.log(parseInt(a));
output->
NaN
1
Example 2:
let a = "1";
console.log(Number(a));
console.log(parseInt(a));
output->
1
1
In conclusion , We use Number() for the Strings that only contains numbers,the parseInt() does the opposite.
Top comments (8)
You can use parseInt() on decimal values and it will return the floor of that number.
for eg:
For Sure ! You can also use the Math functions such as ( Math.floor() , Math.ceil() , etc...) to achieve that .
why cant they just return 0? unpredictable
because how would you know if it returned 0 because it got "0" or because it had an invalid string?
welcome to javascript? :p
been years now out of this shit moving to java
Number()
for the win then!What if you pre-pend + to the variable? For example:
let a = +"1hola1";
What is executed under the hood for the type casting?`
parseInt() / parseFloat()
Or
Number()