iOS float转换为int并就近取整的问题

原创 2015年11月18日 15:17:35



        float duration = 0.029999999;

        if (duration == 0) {

            duration = 0.03; //(gif delay time default is 0.1)

        }

        NSLog(@"the delay is %f", duration);

        NSLog(@"the duration * 100 is %f", duration * 100);

       NSUInteger interValue = roundf(duration * 100);


        NSLog(@"the roundf is %lu", (unsigned long)interValue);

        

        size_t delayTime = (int)( (duration * 1000) / 10 );


将一个float转换为int并就近取整的问题 函数round(), roundf(), lround(), 和lroundf() 


float fractionalPage = _scrollVIew.contentOffset.x / pageWidth ;
    NSInteger nearestNumber = lround(fractionalPage) ;

extern float ceilf(float);

extern double ceil(double);

extern long double ceill(long double);


extern float floorf(float);

extern double floor(double);

extern long double floorl(longdouble);


extern float roundf(float);

extern double round(double);

extern long double roundl(longdouble);


round:如果参数是小数,则求本身的四舍五入。
ceil:如果参数是小数,则求最小的整数但不小于本身.
floor:如果参数是小数,则求最大的整数但不大于本身. 

Example:如何值是3.4的话,则

3.4 -- round 3.000000

    -- ceil 4.000000

    -- floor 3.00000


CGRectMake(floorf(self.view.bounds.size.width*0.5f -39.f*0.5f),self.view.bounds.size.height -573939)

其中floorf(self.view.bounds.size.width*0.5f -39.f*0.5f)返回值为

140.000000这种形式


相关文章推荐

Objective-C浮点数转化整数(向上取整、向下取整)

Objective-C拓展了C,自然很多用法是和C一致的。比如浮点数转化成整数,就有以下四种情况。 1.简单粗暴,直接转化float f = 1.5; int a; a = (int)f; NSLo...

ios编程:NSString与int和float的相互转换

1,字符串拼接  NSString *newString = [NSString stringWithFormat:@"%@%@",tempA,tempB]; 2,字符转int int intS...

Swift入门(九)——String与Int、Double、Float等数字相互转换

三种转换模式任何语言里面,Int、float、double等数字类型自成一派,但它们和String类型之间的转换总是不太方便,这里总结一下它们相互转换的方法。总结下来一共有三种转换模式,分别举例说明。...

IOS将Int64转换为Int,Double,Float等类型

最近在用一个开源播放器做一个APP,我需要获取当前网速的具体数值,但是SDK返回给我的是Int64这个很难搞的类型,在做除法运算的时候,会自动舍弃小数点后的数字,所以导致结果很不精确,然后Swift好...

OC各种数据类型之间的转换方法

NSNumber转NSString: 假设现有一NSNumber的变量A,要转换成NSString类型的B 方法如下: NSNumberFormatter* numberForm...
  • guozh
  • guozh
  • 2012年08月02日 13:52
  • 51741

iOS小数取整(ceil,round,floor)方法

round:如果参数是小数,则求本身的四舍五入。 ceil:如果参数是小数,则求大于本身的最小整数. floor:如果参数是小数,则求小于本身最大整数. 例如: float a = 32.56...

C语言数学函数ceil(), floor(), round()

C语言数学函数ceil(), floor(), round()joe posted @ 2010年4月24日 17:07 in 编程 with tags C语言 , 1279 阅读用法: #inclu...

【iOS知识学习】_int、NSInteger、NSUInteger、NSNumber的区别和联系

1、首先先了解下NSNumber类型: 苹果官方文档地址:https://developer.apple.com/library/ios/documentation/Cocoa/Reference/...

NSInteger,int,字符串NSString之间的的转换

NSString *tempA = @"123"; NSString *tempB = @"456"; // 1,字符串拼接 NSString *newString = [NSStr...

ios NSString format 保留小数点 float double

self.orderCost.text = [NSString stringWithFormat:@"%.1f元",self.order.cost.floatValue]; %.1f  表示小数点一位...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:iOS float转换为int并就近取整的问题
举报原因:
原因补充:

(最多只允许输入30个字)