Wie benutzt man Math.round um Zahlen auf die nächste EVEN Zahl zu runden?

7

Bitte verwenden Sie nur JavaScript.

Dies ist das erste Mal, dass ich versuche, selbst JavaScript zu schreiben. Ich habe Codes, die Freunde in der Vergangenheit für mich geschrieben haben, erfolgreich manipuliert, aber ich habe nie eigene von Null geschrieben und noch nicht die Zeit genutzt, um die Sprache selbst bis vor kurzem zu verstehen.

Ich versuche, einen grundlegenden BH-Größenrechner zu erstellen, der Zahlen (Messungen) von Benutzereingaben nimmt, sie in eine Funktion leitet und dem Benutzer eine Büstenhaltergröße zurückgibt (berechnet).

Da ich so neu in dieser Sprache bin, versuche ich nur einen Teil zu schreiben - "band size"

Ich habe ein Eingabefeld für Benutzer, um ihre "Unterbrustmessung" einzugeben, die ich gerade eingestellt habe. Dies funktioniert wie beabsichtigt. Siehe hier

%Vor%

Allerdings brauche ich die Eingabe 'unterBust' nicht, um auf die nächste ganze Zahl zu runden. Ich brauche es, um auf die nächste ganze Zahl zu runden, da BH-Band-Größen nur in ganzen Zahlen vorkommen.

Wenn der Benutzer zum Beispiel die Zahl "31.25" eingibt, würde der Code ihn auf "31" runden, aber ich muss ihn auf "32" runden

Wenn der Benutzer die Nummer "30.25" eingibt, würde der Code ihn richtig auf "30" runden, weil die nächste ganze Zahl und die nächste ganze gerade Zahl in diesem Fall gleich sind. Wenn der Benutzer jedoch "30.5" eingibt, würde der Code ihn auf "31" runden, aber ich brauche ihn noch, um auf "30" herunterzurunden.

Grundsätzlich muss die Zahl aufgerundet werden, wenn die Benutzereingabe gleich oder größer als eine ungerade Zahl ist (29,00 wird 30, 31,25 wird 32 usw.). Wenn die Benutzereingabe größer oder gleich einer geraden Zahl und kleiner als die nächste ungerade Zahl ist (28, 28,25, 28,75 usw.), muss ich sie abrunden (im vorherigen Beispiel auf 28 für alle Fälle). Die ungerade Zahl ist die mittlere Teilung für die Rundung, anstelle der ".5" einer beliebigen Zahl.

Ist das möglich?

    
user3426725 16.03.2014, 20:50
quelle

2 Antworten

28

Das sollte es tun:

%Vor%     
Bergi 16.03.2014, 20:54
quelle
0

Ich bin ein absoluter Amateur, aber ich habe es falsch gemacht

2 * parseInt (Wert / 2)

Aber es hat genau das gemacht, was ich brauchte - Math.round rundet es um 0,5 ParseInt hat es bei 0

getan     
Bocho Todorov 11.07.2017 14:12
quelle

Tags und Links