Я ищу версию PHP для операции модуля Javascript (%). Мне нужно получить это для некоторых алгоритмов сопоставления, которые я пытаюсь перенести на 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 с моей функцией.
Можете ли вы помочь настроить мой сценарий. Я не математик, поэтому я не смогу перенести это на первые принципы работы модуля.
Спасибо.