商品价格格式化

  /*
     * number_price(准备要开始的价格,要保留的小数位数,小数点显示的符号,千分位分隔符)
     * php4,php5
     * 默认将进行四舍五入处理
    */

    //牛刀小试,深入其意
    $old_price = ‘123456.345‘;
    $new_price01 = number_format($old_price,2,‘.‘,‘,‘);
    var_dump($new_price01);//123,456.35
    $new_price02 = number_format($old_price,2,‘.‘,‘‘);
    var_dump($new_price02);//123456.35

    $old_price02 = ‘123456.344‘;
    $new_price03 = number_format($old_price02,2,‘.‘,‘‘);
    var_dump($new_price03);//123456.34

    //直接舍弃,不采用四舍五入取之
    $new_price04 = substr(number_format($old_price,3,‘.‘,‘‘),0,-1);
    var_dump($new_price04);//123456.34

    //直接取整
    $old_price03 = ‘666.66‘;
    $new_price05 = intval($old_price03);
    var_dump($new_price05);//666

    //四舍五入后去整
    $new_price06 = number_format($old_price03,0,‘‘,‘‘);
    var_dump($new_price06);//667
/**
* 格式化商品价格
*
* @access public
* @param float $price 商品价格
* @return string
*/
function price_format($price, $change_price = true){
    if($price===‘‘)
    {
     $price=0;
    }
    if ($change_price)
    {
        switch ($change_price)
        {
            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);
                //取两位小数,
                $price = number_format($price, 2, ‘.‘, ‘‘);
                break;
        }
    }
    else
    {
        $price = number_format($price, 2, ‘.‘, ‘‘);
    }
    //return sprintf($GLOBALS[‘_CFG‘][‘currency_format‘], $price);
    return $price;
}
时间: 2024-11-02 10:13:12

商品价格格式化的相关文章

ecshop格式化商品价格

<?php /** * 格式化商品价格 * * @access public * @param float $price 商品价格 * @return string */ function price_format($price, $change_price = true) { if($price==='') { $price=0; } if ($change_price && defined('ECS_ADMIN') === false) { switch ($GLOBALS['_

php用逗号格式化数字

今日工作需要格式化数字显示当前商品价格,比如2335.32,需要格式化为2,335.32这样显示.我写了一个函数.总感觉这么简单的功能,但是却需要30多行代码来完成. <?php/**** * @author Amos Wang * @param $number * @return mixed */function numberFormat($number){ if(!is_numeric($number)){ return $number; // 只处理数字 } list($integer,$

sql常用格式化函数及字符串函数

一.常用格式化函数 1.日期转字符串 select to_char(current_timestamp, 'YYYY-MM-DD HH24:MI:SS') //2017-09-18 22:41:50 YYYY:年(4和更多位) MM:月份号(01-12) DD:一个月里的日(01-31) HH24:一天的小时数(00-23) MI:分钟(00-59) SS:秒(00-59) 2.字符串转日期 select to_date('2017-09-18','YYYY-MM-DD') //2017-09-

PHP 格式化字符串sprintf()

字符串函数 sprintf() 函数把格式化的字符串写入一个变量中 函数说明:sprintf(格式, 要转换的字符串)  参考PHP手册 返回: 格式化后的字符串 举例: 如:保留2位小数, $str = '99.9';echo sprintf('%01.2f', $str);结果为:99.90 echo round($str, 2); 结果为:99.9

Yii2框架RESTful API教程(二) - 格式化响应,授权认证和速率限制

之前写过一篇Yii2框架RESTful API教程(一) - 快速入门,今天接着来探究一下Yii2 RESTful的格式化响应,授权认证和速率限制三个部分 一.目录结构 先列出需要改动的文件.目录如下: web ├─ common │ └─ models │ └ User.php └─ frontend ├─ config │ └ main.php └─ controllers └ BookController.php 二.格式化响应 Yii2 RESTful支持JSON和XML格式,如果想指定

python变量及用户交互,用户名格式化输出

变量 name = wwjun Name2 = "wwjun" print ("name,Name2") 用户交互 Username = input ("username:") Password = input ("password:") Print(username,password) 用户名格式化输出 name = input ("name:") age = input ("age:"

var_dump() 格式化输出 | 显示不全

PHP 使用‘var_dump($var)’时 没有格式化输出,显得乱糟糟的.原因是没有启用‘XDebug’扩展 [php.ini] ; XDEBUG Extension zend_extension = "x:/wamp/bin/php/php5.5.12/zend_ext/php_xdebug-2.2.5-5.5-vc11.dll" var_dump()方法输出时候会展示不全出现省略号 解决下 在php.ini里的[xdebug]节点中,追加一下配置: xdebug.var_dis

linux添加新硬盘、格式化以及自动挂载

[root[email protected] ~]# fdisk /dev/vdb  anaconda-ks.cfg  .bash_profile    .pki/             .bash_history    .bashrc          .tcshrc           .bash_logout     .cshrc           .viminfo          [[email protected] ~]# fdisk /dev/vdb      #下面操作把硬盘

信息化怪现状之三:一味追新,看不起“重装 重启 格式化”

我记得51cto的大咖韩立刚老师说过一句经典名言:"重装 重启  格式化". 当你安装了域,重启一下,域生效了. 当普通用户计算机已经被可爱的某某日子牌安全卫士升级到缓慢如牛时,重装一下. 但你的U盘读取不顺畅,格式化一下. 可是,就这最简单的一句话,很多人看不起,比如参加过某个高级网络研修班,测试域环境,总有人在在安装域和安装代理软件的过程中出问题,每次一问:重装没?哦,忘记了. 还有建议某些人重装,冷不丁来一句:你只会重装.计算机的客户首先要看对象,如果你只是拿电脑上网 办公 淘宝