ecshop在php5.3以上的错误number_format() 解决方案 ecshop教程 - ecshop - 爱建站

,,cms教程,ecshop教程,,

SEO SEO

首页  >   ecshop > ecshop在php5.3以上的错误number_format() 解决方案 ecshop教程   >  正文

 

ecshop在php5 3上报错:  Warning: number_format() expects parameter 1 to be double, string given inD: ******* includes lib_common php on line 959Warning: number_format() expects parameter 1 to be double, string given inD: ******* includes lib_common php on line 959这个错误是ecshop 在php5 3以上的报错原因是配送插件里面的免费额度为0,ec本身的bug导致了$price的值为空值,直接调用number_format出现了错误


ecshop在php5.3上报错:

  Warning: number_format() expects parameter 1 to be double, string given inD:\*******\includes\lib_common.php on line 959

Warning: number_format() expects parameter 1 to be double, string given inD:\*******\includes\lib_common.php on line 959

这个错误是ecshop 在php5.3以上的报错

原因是配送插件里面的免费额度为0,ec本身的bug导致了$price的值为空值,直接调用number_format出现了错误。


解决方案如下:

/**
 * 格式化商品价格
 *
 * @access  public
 * @param   float   $price  商品价格
 * @return  string
 */
function price_format($price, $change_price = true)
{
   
    if ($change_price && defined("ECS_ADMIN") === false)
    {
        switch ($GLOBALS["_CFG"]["price_format"])
        {
            case 0:
                $price = number_format($price, 2, ".", "");
                break;
            case 1: // 保留不为 0 的尾数
                $price = preg_replace("/(.*)(\\.)([0-9]*?)0+$/", "\1\2\3", number_format($price, 2, ".", ""));


                if (substr($price, -1) == ".")
                {
                    $price = substr($price, 0, -1);
                }
                break;
            case 2: // 不四舍五入,保留1位
                $price = substr(number_format($price, 2, ".", ""), 0, -1);
                break;
            case 3: // 直接取整
                $price = intval($price);
                break;
            case 4: // 四舍五入,保留 1 位
                $price = number_format($price, 1, ".", "");
                break;
            case 5: // 先四舍五入,不保留小数
                $price = round($price);
                break;
        }
    }
    else
    {

        if(!$price){
                $price = 0;
        }

       
        $price = number_format($price, 2, ".", "");
    }


    return sprintf($GLOBALS["_CFG"]["currency_format"], $price);
}

温馨提示:如果你正在寻找优秀的ecshop模板,那你可以到的 ecshop模板 频道看看,相信一定有你喜欢的!


ecshop在php5.3以上的错误number_format() 解决方案 ecshop教程
http://www.yuedudg.cn/article/1180861.html

 

友情链接
cms综合网 discuz经验网 phpcms之家
织梦之家 wp之家 ecshop经验网
帝国cms常识 zblog之家


Tags: cms教程 ecshop教程


手机浏览本文

ecshop在php5.3以上的错误number_format() 解决方案  ecshop教程

ecshop在php5.3以上的错误number_format() 解决方案 ecshop教程

站内推荐

网站分类

标签列表

关于我们
文章内容来源互联网仅供参考,如果还有疑问请联系我们!我们将竭力帮您解决您的问题
联系我们:

QQ: 397423577 

email:397423577@qq.com

微信:ganenboy