看来AngularJS的angular.isNumber不起作用。它不适用于数字字符串。难道我做错了什么?我应该使用isNaN()吗?
angular.isNumber
isNaN()
angular.isNumber('95.55') == false angular.isNumber('95.55' * 1) == true angular.isNumber('bla' * 1) == true angular.isNumber(NaN) == true
我需要一些东西来查看字符串是否是一个数字(实际上是一个数字)angular.isNumber(),除非我乘以1,否则我不会这么做,但是如果我这样做,那么它将始终为真。另外NaN是不是一个数字(定义)等应该返回false。
angular.isNumber()
NaN
在 JavaScript中 ,typeof NaN === 'number'。
typeof NaN === 'number'
例如,如果需要将 字符串 识别为 Number ,则将其转换为 Number ,然后转换回 String 并将其与输入进行比较。
function stringIsNumber(s) { var x = +s; // made cast obvious for demonstration return x.toString() === s; } stringIsNumber('95.55'); // true stringIsNumber('foo'); // false // still have stringIsNumber('NaN'); // true