小编Has*_*red的帖子

从 float 1.0833333333333333 到 int 的隐式转换丢失精度-PHP-8.1

我正在将项目升级到 PHP 8.1 版本。以下两个函数面临警告并导致性能低下。第一个功能:

   /**
     * @param $a
     * @param $b
     * @return float
     */
    public static function div($a, $b)
    {
        return (int) ~~($a / $b);
    }
Run Code Online (Sandbox Code Playgroud)

第二个功能:

   /**
         * @param $a
         * @param $b
         * @return mixed
         */
        public static function mod($a, $b)
        {
            return (int) $a - ~~($a / $b) * $b;
        }
Run Code Online (Sandbox Code Playgroud)

我的警告:

Implicit conversion from float 1.0833333333333333 to int loses precision
Run Code Online (Sandbox Code Playgroud)

示例使用的函数:

 public static function d2g($jdn)
    {
        $j = 4 * $jdn + 139361631;
        $j += …
Run Code Online (Sandbox Code Playgroud)

php php-8

0
推荐指数
1
解决办法
4338
查看次数

标签 统计

php ×1

php-8 ×1