我想将浮点数四舍五入到给定的精度,例如:
0.051 i want to convert it to
0.1
0.049 i want to convert it to
0.0
0.56 i want to convert it to
0.6
0.54 i want to convert it to
0.5
我无法更好地解释它,但这样做的原因是将点位置(如 0.131f、0.432f)转换为网格中图块的位置(如 0.1f、0.4f)。
只要你的网格是规则的,只需找到从整数到这个网格的变换即可。假设你的网格是
0.2 0.4 0.6 ...
然后你绕过
float round(float f)
{
return floor(f * 5 + 0.5) / 5;
// return std::round(f * 5) / 5; // C++11
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)