2016-04-29 21 views
0

Ich bin auf der Suche nach einer Möglichkeit, eine Zahl zu machen, die ich nur auf Werte in einem bestimmten Bereich zuordnen kann.Begrenzung einer Zahl, so dass sie nur innerhalb eines bestimmten Bereichs durchlaufen kann?

Zum Beispiel wenn ich die Nummer -7 habe und ich sicherstellen will, dass, egal welche Zahl ich addiere oder subtrahiere das Ergebnis immer zwischen 0 und 10 zum Beispiel sein wird.

Ich weiß, dass ich eine Nummer nur zwischen 0 und x durch% betragen begrenzen, diese Zahl zu x Teilung etwa so:

(myNumber + anotherNumber) % x 

dies wird mich immer ein Ergebnis zwischen 0 und x.

Das Problem ist, dass dies nicht funktioniert, wenn das Ergebnis eine negative Zahl ist.

Beispiel:

myNumber = 4 
secondNumber = -7 
x = 6; 
myNumber + anotherNumber = -3 
(myNumber + anotherNumber) % 6 gives me 0 

Was ich will ist bekommen, wenn ich 4 haben und fügen Sie dann -7 bis es, sollte ich 3.

Jede Hilfe bekommen ist sehr geschätzt

+0

machen Sie die Summe und während das Ergebnis negativ ist, fügen Sie 'secondNumber' hinzu, dann tun Sie den Modulo. In Ihrem Fall -3 < 0 => -3 + 6 = 3 => 3% 6 = 3 –

Antwort

0

Sie könnte prüfen, ob das Ergebnis negativ ist. Wenn ja, dann Ergebnis: (- 1) = positives Ergebnis