int amount = int slider.value
Ce n'est pas C juridique et n'a pas de sens au compilateur, il produira une erreur (expression attendue avant « int »). La signification de
int amount = (int)(slider.value);
est qu'une variable automatique du type int quantité nommée est déclarée et assigné une certaine valeur, soit la distribution de nombre entier de la valeur à virgule flottante de slider.value. Le type de slider.value est float - vous pouvez assigner un float à un int mais vous recevrez un avertissement. L'utilisation de (int)
effectue une conversion de float en int, en supprimant la partie fractionnaire du nombre.
Cast a une précision inférieure à '.' opérateur de sorte que vous pouvez également utiliser
int amount = (int)slider.value;
Vous pouvez utiliser
int amount = slider.value;
et ignorer l'avertissement. Mais puisque les valeurs par défaut d'un curseur sont de 0.0 à 1.0, vous ne voudrez peut-être pas le faire, cela ne vous donnera probablement pas un résultat utile. De plus, à cause de la nature de la distribution (élimination de la partie fractionnaire), le résultat peut toujours être nul. Les flotteurs peuvent faire des choses délicates - si vous les comparez ou si vous testez l'égalité par exemple, vous définissez généralement une différence acceptable et vous voyez s'ils sont si proches, pas absolument égaux.
'.' (membre) a la plus haute priorité alors que (cast) a le deuxième plus haut - donc le (int) s'appliquerait à slider.value, pas seulement au slider, si les parenthèses étaient omises. –