繁体   English   中英

Objective-C Ceil()没有返回正确的值

[英]Objective-C Ceil() not returning correct values

以下代码返回意外(和错误的值)。

x1 = ceil(ceil(ceil(100*1.0f)*1.0f)*1.1f);

它返回111而不是110.我知道将数字乘以1是没有意义的,但那些1并不总是那些。 当它们是其他值时,该函数按预期工作。

这是浮点错误的问题。 1.1f可能真的像1.100056778。

这意味着100 * 1.100056778 = 110.0056778。 这个数字的ceil是111。

使用ceilf操作员为我修复它:

float x1 = ceilf(ceilf(ceilf(100*1.0f)*1.0f)*1.1f);
NSLog(@"%f",x1); // 110

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM