在PHP中缩放数字范围?
我正在开发一些PHP代码,它与一个硬件进行通信,这个硬件在时钟上移动一个物理指针。基本上,我有一个介于000和180之间的数字范围(分钟),对应于伺服位置000到180 我面临的问题是,我现在发现伺服只能移动到000和165之间的值 有没有办法将000到180之间的给定数字缩放到000到165之间?我一直在绞尽脑汁想这个问题,任何帮助都将不胜感激 示例函数:在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
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位数的数字。谢谢你的帮助。我对编程很在行,我对数学问题一窍不通!谢谢你的帮助,这比看起来简单多了!我对编程很在行,我对数学问题一窍不通!谢谢你的帮助,这比看起来简单多了!我对编程很在行,我对数学问题一窍不通!