Похоже, что angular.isNumber
AngularJS не работает. Он не работает со строками, которые являются числами. Я делаю что-то неправильно? Должен ли я просто использовать isNaN()
?Почему angular.isNumber() работает не так, как ожидалось?
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.
http://stackoverflow.com/questions/2801601/why-does-typeof-nan-return-number – RonSper
Что не работает? '95 .55 'не является числом, это строка. Точно так же, умножая строку на число, javascript будет анализировать/отличать эту строку как число и делать операцию. Конкатенация работает по-разному, так как number + string будет строкой (javascript выводит число как строку). –
@BradM Я добавил к своему вопросу, чтобы помочь прояснить проблему. –