我正在寻找用于Javascript模数(%)运算的PHP版本。我需要为我试图移植到PHP的一些映射算法得到这个。当我使用PHP的bcmod时,我的结果会有一些偏差。
这是我到目前为止所掌握的。
public static function mod($operand_str, $modulus_res)
{
$arg_arr = array();
$arg_arr = func_get_args();
$operand_str = strval($operand_str);
$modulus_res = strval($modulus_res);
$retain_scale_bool = (!isset($arg_arr[2]) || $arg_arr[2] == '') ? false: $arg_arr[2];
//get decimal
$decimal_arr = array();
$decimal_arr = explode('.', $operand_str);
switch(true)
{
case ($retain_scale_bool == true):
$modulus_new_res = bcmod($operand_str, $modulus_res);
$modulus_new_res = $modulus_new_res.'.'.$decimal_arr[1];
break;
default:
$modulus_new_res = bcmod($operand_str, $modulus_res);
}
return $modulus_new_res;
}只是作为一个例子。这是我做3.1432444的时候得到的结果% 3:用Javascript: 0.14324439999999994用PHP: 0用我的函数: 0.1432444
我想用我的函数得到Javascript的结果。
你能帮我调整一下脚本吗。我不是数学高手,所以我不能讲模运算的基本原理。
谢谢。
发布于 2010-12-19 06:29:04
您可以使用fmod(),它与浮点数一起使用:
fmod(3.1432444, 3);https://stackoverflow.com/questions/4480484
复制相似问题