加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php保留两位小数的几种方法说明

发布时间:2022-07-29 17:14:19 所属栏目:PHP教程 来源:互联网
导读:php保留两位小数的几种方法介绍 1.不进位的情况 比如3.149569取小数点后两位,最后两位不能四舍五入。结果:3.14。 可以使用 floor 函数 该函数是舍去取整。例如,floor(4.66456) 结果:4 。 floor(9.1254) 结果9 。 因此,去小数点后两位,需要先乘以100
  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。

(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读