Hallo,
kann ich mit javascript prüfen ob eine zahl ganz ist?
also nicht zahlen wie 3,456 sondern nur z.B. 2,45,3434
geht das?
bei den Math-Obejkten habe ich nichts gefunden.
MfG
Martin
Hallo,
kann ich mit javascript prüfen ob eine zahl ganz ist?
also nicht zahlen wie 3,456 sondern nur z.B. 2,45,3434
geht das?
bei den Math-Obejkten habe ich nichts gefunden.
MfG
Martin
Hi,
klar, das geht ganz einfach.
Dafür gibt es den sogenannten Modulo-Operator.
In der Mathematik wird er mit mod tituliert.
Er bewirkt folgendes:
i = 13 mod 4 => i = 1
Das entsteht durch die Ganzzahldivision, wie früher in der Grundschule.
13/4 = 3 + 1, denn 3*4 + 1 = 13
Der Modulo-Operator gibt dir also den Rest der Ganzzahldivision.
Wenn du also eine gerade Zahl ermitteln willst, dann kannst du das ausnutzen, dass gerade Zahlen durch 2 geteilt immer den Rest 0 besitzen.
Daher nimmst du folgenden Pseudocode:
wenn (zahl mod 2) = 0
dann gerade
ansonsten
ungerade
In vielen Programmiersprachen ist der Modulo-Operator als % definiert.
Daher in Javascript:
if( zahl%2 == 0 )
// zahl gerade
else
// zahl ungerade
Ciao, Bill
Hallo,
soll es nun eine ganze- oder wie in der Ueberschrift gerade Zahl sein?
(3 mod 2) oder (3 % 2) liefert auch Rest 1 und ist eine ungerade aber ganze Zahl.
Zweitens denke ich, das Komma muss durch einen Punkt ersetzt werden.
var wert1 = „2,001“;
var wert2 = wert1.replace(/,/,’.’);
if (wert2 == Math.ceil(wert2)) {
alert(„ganze Zahl“);
} else {
alert(„keine ganze Zahl“);
}
Ich weiss nun auch nicht, ob Du 3,456 als 3.456 meinst oder die Zahlen 3 und 456, denn beides sind ganze Zahlen, aber 3 , 45 und 3434 sind auch ganze Zahlen. Aber in beiden ist jeweils auch eine gerade zahl dabei.
CU
hallo,
vielen dank für eure antworten.
ich hab noch eine einfachere lösung gefunden.
nämlich mit der funktion parseInt()
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]