Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/244.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP中缩放数字范围?_Php_Math - Fatal编程技术网

在PHP中缩放数字范围?

在PHP中缩放数字范围?,php,math,Php,Math,我正在开发一些PHP代码,它与一个硬件进行通信,这个硬件在时钟上移动一个物理指针。基本上,我有一个介于000和180之间的数字范围(分钟),对应于伺服位置000到180 我面临的问题是,我现在发现伺服只能移动到000和165之间的值 有没有办法将000到180之间的给定数字缩放到000到165之间?我一直在绞尽脑汁想这个问题,任何帮助都将不胜感激 示例函数: function convertScale($handVal) { //some code to convert scale from

我正在开发一些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;
}

它能接受浮点运算吗

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));
}

它能接受浮点运算吗

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));
}

它不能接受浮点数,并且必须是三位数字,所以10就是010。但是我有一个预先编写的函数,它舍入到最近的数字,并通过转换成字符串并使用strlen函数创建一个3位数的数字。谢谢你的帮助。我对编程很在行,我对数学问题一窍不通!它不能接受浮点数,并且必须是三位数字,所以10就是010。但是我有一个预先编写的函数,它舍入到最近的数字,并通过转换成字符串并使用strlen函数创建一个3位数的数字。谢谢你的帮助。我对编程很在行,我对数学问题一窍不通!谢谢你的帮助,这比看起来简单多了!我对编程很在行,我对数学问题一窍不通!谢谢你的帮助,这比看起来简单多了!我对编程很在行,我对数学问题一窍不通!