在PHP中缩放一系列数字?

kir*_*rgy 1 php math electronics

我正在开发一些PHP代码,它与一个硬件进行通信,该硬件正在移动时钟上的物理手.基本上,我有一系列数字(分钟)在000到180之间,对应伺服位置000到180.

我面临的问题是我现在发现伺服只能移动到000到165之间的值.

有没有办法将给定数量在000到180范围内扩展到000到165?我一直在绞尽脑汁,任何帮助都会非常感激.

功能示例:

function convertScale($handVal)
{
 //some code to convert scale from 000-180 to 000-165
 return $convertedPos;
}
Run Code Online (Sandbox Code Playgroud)

wal*_*lyk 5

它可以采取浮点吗?

function convertScale($handVal)
{
    return $handVal * 165.0 / 180.0;
}
Run Code Online (Sandbox Code Playgroud)

如果没有,圆整到最接近的整数是有希望的:

function convertScale($handVal)
{
    return round($handVal * 165.0 / 180.0);
}
Run Code Online (Sandbox Code Playgroud)

---编辑---
如评论中所提到的,可以通过以下方式轻松提供3位数字符串:

function convertScale($handVal)
{
    return sprintf ("%03d", round($handVal * 165.0 / 180.0));
}
Run Code Online (Sandbox Code Playgroud)