Es scheint, als ob AngularJS angular.isNumber
nicht funktioniert. Es funktioniert nicht mit Strings, die Zahlen sind. Mache ich etwas falsch? Soll ich einfach isNaN()
verwenden?Warum funktioniert angular.isNumber() nicht wie erwartet?
angular.isNumber('95.55') == false
angular.isNumber('95.55' * 1) == true
angular.isNumber('bla' * 1) == true
angular.isNumber(NaN) == true
Ich brauche etwas, um zu sehen, ob eine Zeichenfolge eine Zahl ist (wenn es tatsächlich ist) und angular.isNumber()
werde mich nicht tun lassen, dass, wenn ich um 1 multiplizieren, aber wenn ich das dann tut, wird es immer wahr sein . Auch NaN
ist keine Nummer (per Definition) und sollte daher false zurückgeben.
http://stackoverflow.com/questions/2801601/why-does-typeof-nan-return-number – RonSper
Was nicht funktioniert? '95 .55 'ist keine Zahl, es ist eine Zeichenkette. Gleichermaßen multipliziert JavaScript eine Zeichenfolge mit einer Zahl und analysiert diese Zeichenfolge als eine Zahl und versucht, die Operation auszuführen. Die Verkettung funktioniert anders, da Zahl + Zeichenfolge eine Zeichenfolge ist (JavaScript gibt die Zahl als Zeichenfolge aus). –
@BradM Ich habe meine Frage hinzugefügt, um das Problem zu klären. –