zoukankan      html  css  js  c++  java
  • php保留两位小数

    1.不进位的情况

    比如3.149569取小数点后两位,最后两位不能四舍五入。结果:3.14。

    可以使用 floor 函数

    该函数是舍去取整。例如,floor(4.66456) 结果:4 。
    floor(9.1254) 结果9 。

    因此,去小数点后两位,需要先乘以100,然后舍去取整,再除以100,即:

    $a=floor(3.149569*100)/100

    这时浮点计算会出现一个bug,通过PHP的无类型特性来解决这个问题,先strval转成字符串,再自动识别类型。下面计算百分比已经使用上strval()函数了

    计算百分比

    $successRate = floor(strval((2/3)*10000))/10000*100;
    
    $result = $successRate.'%';

    2.四舍五入的情况

     round 函数

    float round ( float val [, int precision])

    返回将 val 根据指定精度 precision(十进制小数点后数字的数目)进行四舍五入的结果。

    precision 也可以是负数或零(默认值)。

    <?php
    
    echo round(3.4);         // 3
    
    echo round(3.5);         // 4
    
    echo round(3.6);         // 4
    
    echo round(3.6, 0);      // 4
    
    echo round(1.95583, 2);  // 1.96
    
    echo round(1241757, -3); // 1242000
    
    echo round(5.045, 2);    // 5.04
    
    echo round(5.055, 2);    // 5.06

     sprintf 函数

    实现四舍五入,并且如果是不带小数位数的,会自动用指定的字符(指定的0)补至指定的小数位数

    echo sprintf("%01.2f", 5.228);  //  5.23
    
    echo sprintf("%01.2f", 5.224);  //  5.22
    
    echo sprintf("%01.2f", 5);      //  5.00

     number_format 函数

    如果是不带小数位数的,会自动用0补至指定的小数位数

    echo number_format(5.228,2);    //  5.23
    
    echo number_format(5.224,2);    //  5.22
    
    echo number_format(5,2);        //  5.00

      round 函数

    此函数可以实现四舍五入,但是如果是不带小数位数的,处理后也不带小数数位

    echo round(5.228,2);    //  5.23
    
    echo round(5.224,2);    //  5.22
    
    echo round(5,2);        //  5

      php进一法取整

    echo ceil(4.4);     //  5
    
    echo ceil(4.6);     //  5

      php舍去法取整

    echo floor(4.4);        //  4
    
    echo floor(4.6);        //  4
  • 相关阅读:
    mysql 取年、月、日、时间
    第4步:创建RAC共享磁盘组
    第3步:添加用户与安装路径
    第2步:配置系统安装环境
    第1步:安装虚拟机+配置网络
    nodejs rar/zip加密压缩、解压缩
    使用shell脚本守护node进程
    抒发一下这些天用django做web项目的一些体会
    编写gulpfile.js文件:压缩合并css、js
    在NodeJS中使用流程控制工具Async
  • 原文地址:https://www.cnblogs.com/niuben/p/11434430.html
Copyright © 2011-2022 走看看