版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
1. 在面试的过程中经常出现的一道面试题是,将“123456789241234214” 进行千位分隔符进行分割,个人总结如下,若有未判断到的漏洞,请不吝赐教。
function getStr($str){
//判断是否number类型
if (!is_numeric($str)) {
//接口:return json_suc(201,"参数错误");
return false;
}
//判断是否有小数点
$num = substr_count($str,'.');
$str_d = "";
if ($num>0 && $num<2) {
$new_str= explode(".",$str);
$str = $new_str[0];
$str_d = ".".$new_str[1];
}
$num=ceil(strlen($str)/3);
$arr=array();
$j =0;
$str=strrev($str);
for($i=0;$i<$num;$i++){
$arr[$i]=substr($str,$j,3);
$j+=3;
}
$str=implode(',',$arr);
$str=strrev($str);
return $str.$str_d;
}
$str='467238491323432837491747.12';
echo getStr($str);
输出的内容是:467,238,491,323,432,837,491,747.12