简体   繁体   中英

Proper way to convert number to string in javascript

According to tutorial by w3schools ( http://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_tostring_number ), we can use toString() method on a integer var. Kindly look at the following code:

var num = 15;
var n = num.toString();
alert(isNaN(n));

If toString() method is working, why isNaN(n) returning false ?

The IsNaN method tries converting the string passed to it back to a number, and since "15" is still actually a number, the method returns false .

See: https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/isNaN

isNaN() coerces the string '15' into a number value before checking it.

isNaN even coerces booleans, and some falsy values into numbers.

isNaN(true) // >> false
isNaN(false) // >> false
isNaN([]) // >> false
isNaN('') // >> false

Try using typeof to figure out if it's a number or not

var num = 15;
var n = num.toString();
alert(typeof n === 'number');

isNaN() function returns true if the value is NaN, and false if not. Your code is excute alert(isNaN(15));

So it is return false

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM