C++基础:转换整型、取整、四舍五入
int, ceil, floor, round, /
·
为了避免 “似是而非” 还是记录一下
#include <cmath>
浮点数 转 整型 int
cout << int(2.1) << endl; // 2
cout << int(-2.1) << endl; // 2
cout << int(2.8) << endl; // 2
cout << int(-2.8) << endl; // 2
这种直接转换采用的是“断尾”,不论正负数直接舍弃小数位
整除 /
int a = 5;
cout << a / 2 << endl; // 2
cout << -a / 2 << endl; // -2
整除运算也是“断尾”取整,不论正负数直接舍弃小数位
向下取整 floor
cout << floor(2.1) << endl; // 2
cout << floor(-2.1) << endl; // -3
cout << floor(2.8) << endl; // 2
cout << floor(-2.8) << endl; // -3
向下取整就是取该浮点值在数轴上,左侧的整数值,不考虑远近。正负数取值有差异。
向上取整 ceil
cout << ceil(2.1) << endl; // 3
cout << ceil(-2.1) << endl; // -2
cout << ceil(2.8) << endl; // 3
cout << ceil(-2.8) << endl; // -2
与向下取整刚好相反,取右侧的整数值,不考虑远近。正负值有差异。
四舍五入 round
cout << round(2.5) << endl; // 3
cout << round(-2.5) << endl; // -3
cout << round(2.5) << endl; // 3
cout << round(-2.5) << endl; // -3
四舍五入取整,数值无差异,与正负号无关
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
已为社区贡献8条内容
所有评论(0)