python isnumber_判断字符串是否为数字

【主题思想】实现方式、isNaN() VS 正则

请给字符串扩展一个 isNumber 方法,判断字符串是否是数值字符串,例如

a'.isNumber() // false

'0'.isNumber() // true

'1e10000'.isNumber() // true

'12px'.isNumber() // false

'3.141592653'.isNumber() // true

'NaN'.isNumber() // false

' '.isNumber() // false

PS:以上题目来着内部JS小测

正则

var isNumber = function(str) {

return /^[\d|\.]*$/g.test(str);

}

// 'a'.isNumber() // false

// '0'.isNumber() // true

// '1e10000'.isNumber() // fasle

// '12px'.isNumber() // false

// '3.141592653'.isNumber() // true

// 'NaN'.isNumber() // false

// ' '.isNumber() // false

// '0xae'.isNumber() // false

isNaN()

var isNumber = function(str){

return !isNaN(str);

}

// 'a'.isNumber() // false

// '0'.isNumber() // true

// '1e10000'.isNumber() // true

// '12px'.isNumber() // false

// '3.141592653'.isNumber() // true

// 'NaN'.isNumber() // false

// ' '.isNumber() // false

// '0xae'.isNumber() // true

正则 VS isNaN()

isNaN()✅

对于八进制or科学计数法(例如0xae、1e10000),isNaN()方法的判断依旧是符合预期的,而正则会有误

isNaN() 会判断某个参数是不是NaN,如果传参是NaN,返回true,否则返回false,在这个过程中会出强制转换。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部