私はこれをまったく理解できません。ここで何が問題なのですか?
1.0、、、1.0fと入力してみまし(CGFloat) 1.0た(CGFloat)(2.0 - 1.0)。毎回同じエラー。

私はこれをまったく理解できません。ここで何が問題なのですか?
1.0、、、1.0fと入力してみまし(CGFloat) 1.0た(CGFloat)(2.0 - 1.0)。毎回同じエラー。

数値の小数部分 0.9 は浮動小数点数では正確に表すことができません。いくつかの丸めが発生し、それがおそらく失敗の理由です。
0.9 = (1/2) + (1/4) + (1/8) + (1/64) + (1/128) + (1/1024) + (1/2048) + (1/16384) + (1/32768) + (1/262144) など = 0,8999978005 など
人間の目には丸く見える分数でも、連星系では丸くない場合があります。
0.5 は、CPU = (1/2) のラウンド数です。
0.75 は、CPU の丸め = (1/2) + (1/4) です。
0,9072265625 も丸め ( (1/2) + (1/4) + (1/8) + (1/32) + (1/1024) )
しかし、0.9 や 0.1 ではありません。0.2すらありません:)
編集:そしてもちろん、浮動小数点数の比較にはイプシロンを使用します。
に変更しました
mov.value = 8.9
XCTAssertEqualWithAccuracy(mov.lastDelta, 0.0f, 0.001, @"");
そして、今はうまく機能しているようです...