私はiOSアプリケーションで抱えていたかなり奇妙な問題を解決しました。64/38 ~= 1.684
メソッドに渡される値にスケーリング係数(私が計算した)を適用する必要があります。
私の問題の核心は次のようになります。
- (void)applyScaleTo:(int)value {
// value := 64
int first = value * (64/38)
NSLog(@"First: %d", first);
int second = (64 * value)/38;
NSLog(@"Second: %d", second);
}
目的の値はです107
が、ログは次のようになります。
First: 64
Second: 107
私の解決策は2番目の方法を使用することですが、これは問題ありませんが、私の質問は、なぜこの不一致なのかということです。(ちなみに、first
がに変更されたfloat
場合でも、としてログに記録され64.00000...
ます。)