各类型取绝对值
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,对于复数来说就是舍弃浮点数部分.