宏定义:给传入参数加括号,给最后生成的表达式加括号 floatToInt()四舍五入
2015-05-20 15:37
429 查看
宏定义:
1,给传入参数加括号,因为传入参数可能是个表达式
2,给最后生成的表达式加括号
比如:浮点数四舍五入转整数的宏:
#define fToi(f)
((int)((f) * 10) % 10 >= 5 ? (int)((f) + 1) : (int)(f))
如果不给传入的f加括号为(f),则当f是表达式时,可能运算出错。
1,给传入参数加括号,因为传入参数可能是个表达式
2,给最后生成的表达式加括号
比如:浮点数四舍五入转整数的宏:
#define fToi(f)
((int)((f) * 10) % 10 >= 5 ? (int)((f) + 1) : (int)(f))
如果不给传入的f加括号为(f),则当f是表达式时,可能运算出错。
相关文章推荐
- 宏定义函数指针类型&函数返回左值类值 1。宏定义不分配内存,变量定义分配内存。 2。宏名和参数的括号间不能有空格 3。宏替换只作替换,不做计算,不做表达式求解 //下面是正确的标准的写法 typedef int(FUNC1)(int in); ty
- 【c++函数重载 参数分别为int和float,但是传入3.14报错】
- 宏定义中的参数需要加括号的原因
- java String.split 传入参数为正则表达式
- IOS宏定义(方法名称做参数)和respondToSelector
- Bytes to float int String Double
- java实现表达式求值(算符优先算法,可计算int,double,float 形数据)
- 关于Hibernate中的int和float数据及Null value was assigned to a property of primitive type setter of
- int? 参数是这个的时候 是可以传入null的 而int的就不行
- java正则表达式的match.group(int group)参数详解
- warning C4244: '=' : conversion from 'int' to 'float', possible loss of data
- float转int 四舍五入问题
- EF映射——linq to Entity ,不支持方法 get_item(int 32) 无法转换为存储表达式
- float详解和方法floatToInt
- string类型转换为int, float, double类型、随机数生成
- warning C4244: '=' : conversion from 'int' to 'float', possible loss of data
- 关于LayoutParams(int width, int height, float weight) 参数解析
- python for循环里的参数统统加上int()防止报float类型的错误
- JAVA随机数生成Int、Long、Float、Double
- float转int 四舍五入问题