如何向下舍入到最接近的 10 次方?

2024-03-04

我什至找不到这个的搜索关键字。 请考虑这段代码:

float inputValue = getInputValue();
float resultValue;

if (inputValue < 0.1f) {
    resultValue = 0.01f;
}
else if (inputValue < 1.0f) {
    resultValue = 0.1f;
}
else if (inputValue < 10.0f) {
    resultValue = 1.0f;
}
else {
    resultValue = 10.0f;
}

等等。必须有一种更优雅的方法来做到这一点。 我想解决方案很简单,但我现在尝试找到一种方法,花了 2 个小时并阅读了有关 round、ceil、floor 的内容...找不到它。

有人有想法吗?


powf(10.0f, floorf(log10f(value)))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何向下舍入到最接近的 10 次方? 的相关文章

随机推荐