2017-08-05 3 views
2

Dans Nombres d'Apple la fonction MOD diffère de Swift (dans la version allemande, il est RESTComment la fonction REST en chiffres fonctionne à Swift

en chiffres:.

4,37937=MOD(−1,90373;6,2831)

contre

En 3 rapide:

let rem1: Double = -1.90373 
let rem = rem1.truncatingRemainder(dividingBy: 6.28318530717959) 
print(rem) 

Prints: -1.90373

Qu'est-ce que je fais mal?

Répondre

0

a% b effectue ce qui suit et retourne reste

a = (b x some multiplier) + remainder 

certain multiplicateur est le plus grand nombre de multiples de b qui correspondent à l'intérieur d'un.

par exemple. un certain nombre entier constant [0 ...]

Le documentation fournit ce qui suit à titre d'exemple

Insertion -9 et 4 dans les rendements de l'équation:

-9 = (4 x -2) + -1

donnant une valeur de reste de -1.

Le signe de b est ignoré pour les valeurs négatives de b. Cela signifie qu'un % b et un% -b donnent toujours la même réponse.

1

J'ai trouvé la solution:

let rem1: Double = -1.90373 
let rem = rem1 - 6.28318530717959 * floor(rem1/6.28318530717959) 
print(rem) 

va faire la même chose comme les pommes Nombres MOD fait.