如何将数字限制在一个范围内

Esp*_*pen 4 java math

我有这个功能可以将旋转限制在 0.0 到 360.0 的范围内:

private float ClampRotation( float rotation ) {

    while( rotation < 0.0f ) rotation += 360.0f;
    while( rotation >= 360.0f ) rotation -= 360.0f;

    return rotation;

}
Run Code Online (Sandbox Code Playgroud)

这个函数工作得很好,它可能不会更有效率,但我只是想知道是否有一个本地 Java 函数可以做同样的事情?

我得到的最接近的是 Math.min/max,但它不是这样工作的。-10.0 的旋转应该输出 350.0 而不是像 min/max 那样的 0.0。

The*_*aul 5

%(模数)适用于浮点值,因此请使用rotation % 360.0f(之后您需要将 360.0 添加到负数)

  • @willell:事实上,当一个数除以另一个数时,它返回*余数* - 当它为零时,它们完全可以整除。 (4认同)