このコードをループで実行すると、コンソールに整数のみが出力されるのはなぜですか?
for (int i = 1; i <= 50; i++) {
zombieSpeed[i] = (((arc4random()%40)+2)/7);
NSLog(@"%f", zombieSpeed[i]);
}
このコードをループで実行すると、コンソールに整数のみが出力されるのはなぜですか?
for (int i = 1; i <= 50; i++) {
zombieSpeed[i] = (((arc4random()%40)+2)/7);
NSLog(@"%f", zombieSpeed[i]);
}
問題はここにあります
zombieSpeed[i] = (((arc4random()%40)+2)/7);
40、2、7の代わりに、40.0、2.0、7.0を使用する必要があります
また、ZombieSpeedがフロートタイプであることを確認してください
この行はFloat
値(40.0、2.0、7.0)を使用する必要があります
zombieSpeed[i] = (((arc4random()%40)+2)/7);
除算は整数除算であり、明示的な小数点を40.0または型キャストとして使用します。これにより、少なくとも1つのオペランドが浮動小数点になり、式全体が浮動小数点として評価されます。コンピューターの値を割り当てる左側の変数が、(精度を維持するために)同じかそれ以上の幅の浮動小数点型であることを確認してください。