美文网首页
工作随记

工作随记

作者: 暗冬深渊之烛 | 来源:发表于2016-08-24 09:57 被阅读0次

    各类型取绝对值

    abs(int),

    labs(long),

    llabs(long long),

    imaxabs(intmax_t),

    fabsf(float),

    fabs(double), or

    fabsl(long double).

    (Alas, there is no habs(short) function. Or scabs(signed char) for that matter...)

    位数判断

    //判断位数

    int MaxYRange = 0;

    NSMutableString *MaxYString = [NSMutableString stringWithFormat:@"%.f",_MaxY];

    if ([MaxYString rangeOfString:@"."].location == 1 && [[MaxYString substringWithRange:NSMakeRange(0, 1)] intValue] >= 2) {

    //maxy >= 2

    MaxYRange = (int)[MaxYString rangeOfString:@"."].location;

    }else if([MaxYString rangeOfString:@"."].location == NSNotFound){

    //整数

    MaxYRange = (int)MaxYString.length;

    }

    通过转换为字符串后判断小数点位置判断位数

    /**

    *  取绝对值的上级范围

    *

    *  @param number 传入的数字

    *

    *  @return 比传入数字大一的范围

    */

    -(float)calculateNumber:(float)number{

    float newNumber = ceilf(fabsf(number));//取绝对值,然后向上取整

    return newNumber;

    }

    1.简单粗暴,直接转化

    float f = 1.5; int a; a = (int)f; NSLog("a = %d",a);

    输出结果是1。(int)是强制类型转化,丢弃浮点数的小数部分。

    2.高斯函数,向下取整

    float f = 1.6; int a; a = floor(f); NSLog("a = %d",a);

    输出结果是1。floor()方法是向下取整,类似于数学中的高斯函数 [].取得不大于浮点数的最大整数,对于正数来说是舍弃浮点数部分,对于复数来说,舍弃浮点数部分后再减1.

    3.ceil函数,向上取整。

    float f = 1.5; int a; a = ceil(f); NSLog("a = %d",a);

    输出结果是2。ceil()方法是向上取整,取得不小于浮点数的最小整数,对于正数来说是舍弃浮点数部分并加1,对于复数来说就是舍弃浮点数部分.

    相关文章

      网友评论

          本文标题:工作随记

          本文链接:https://www.haomeiwen.com/subject/hvnnsttx.html