在PHP中缩放一系列数字?

时间:2012-04-11 20:35:52

标签: 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;
}

1 个答案:

答案 0 :(得分:5)

可以采取浮点吗?

function convertScale($handVal)
{
    return $handVal * 165.0 / 180.0;
}

如果没有,圆整到最接近的整数是可以的:

function convertScale($handVal)
{
    return round($handVal * 165.0 / 180.0);
}

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

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