首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP版本的Javascript Modulus操作

PHP版本的Javascript Modulus操作
EN

Stack Overflow用户
提问于 2010-12-19 06:25:11
回答 1查看 1.2K关注 0票数 0

我正在寻找用于Javascript模数(%)运算的PHP版本。我需要为我试图移植到PHP的一些映射算法得到这个。当我使用PHP的bcmod时,我的结果会有一些偏差。

这是我到目前为止所掌握的。

代码语言:javascript
复制
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的结果。

你能帮我调整一下脚本吗。我不是数学高手,所以我不能讲模运算的基本原理。

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-12-19 06:29:04

您可以使用fmod(),它与浮点数一起使用:

代码语言:javascript
复制
fmod(3.1432444, 3);
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4480484

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档