![](https://i-blog.csdnimg.cn/blog_migrate/50d59e6bc058617db3f24d02627ea6df.png)
<?php
function float_number($number){
$number = $number*100;
$length = strlen(floor($number)); //数字长度
if($length > 10){ //亿单位
$str = round(substr_replace(floor($number * 0.000000001),'.',-1,0),2)."亿";
}elseif($length >6){ //万单位
//截取前俩为
$str = round(($number * 0.00001) * 0.1,2)."万";
}else{
$str = round($number*0.01,2);
}
return $str;
}
$number = 1235989545;
echo float_number($number);
- 将输入的数字乘以100,得到一个整数。
- 计算该整数的长度,即数字的长度。
- 根据长度判断数字的单位:
- 如果长度大于10,则数字的单位为亿。将原数字乘以0.000000001,并保留两位小数,最后加上单位"亿"。
- 如果长度大于6,则数字的单位为万。将原数字乘以0.00001,并保留两位小数,最后加上单位"万"。
- 否则,数字的单位为个。将原数字乘以0.01,并保留两位小数。
- 返回带单位的字符串。 注意:在计算过程中,使用了floor函数取整,以及substr_replace函数替换字符串中的字符。最后返回的字符串形式的数字采用了四舍五入取两位小数的方式。