php数字单位转换保留两位小数不四舍五入

今天波波分享的笔记是PHP数字单位的转换保留两位小数不四舍五入。方法很简单,在这里分享只是不想在以后用的时候重复造轮子。

整体思路是传入一个数字如果单位为个数,那么type值设置为1,返回转换后的结果;如果传入的数字单位为万,那么type值需要设置为2,返回转换后的结果。返回的结果保留两位小数,不四舍五入。

源码如下:

  1. function transnum($num,$type){
  2.     //type:1单位个   2单位万
  3.     $result = array();
  4.     $leng = pow(10,2);//小数位修改最后一个数字
  5.     switch($type){
  6.         case 1:
  7.             if($num >= 10000){
  8.                 $result['num'] = intval(($num/10000)*$leng)/$leng;
  9.                 if($result['num'] >= 10000){
  10.                     $result['num'] = intval(($num/100000000)*$leng)/$leng;
  11.                     $result['rem'] = "亿";
  12.                 }else{
  13.                     $result['rem'] = "万";
  14.                 }
  15.             }else{
  16.                 $result['num'] = intval($num*$leng)/$leng;
  17.                 $result['rem'] = "";
  18.             }
  19.             break;
  20.         case 2:
  21.             if($num >= 10000){
  22.                     $result['num'] = intval(($num/10000)*$leng)/$leng;
  23.                     $result['rem'] = "亿";
  24.             }else{
  25.                 $result['num'] = intval($num*$leng)/$leng;
  26.                 $result['rem'] = "万";
  27.             }
  28.             break;
  29.     }
  30.     return $result['num'].$result['rem'];
  31. }

在上述方法中有几个很灵活的地方就是可以修改保留的小数点的位数,当然如果想要四舍五入的话,可以将数学运算的位置用round()方法替换即可。总而言之,这只是一个轮子,至于在轮子上安装什么或怎么改造都是很随意的。

 

你想把广告放到这里吗?

发表评论

您必须 登录 才能发表留言!