function floatohz($value){
$result='';
$v_a=array('分','角','零','块','十',',百','千','万','十','百','千','亿');
$v_b=array('零','一','二','三','四','五','六','七','八','九','十');
$v_c=array();
$value=(string)$value;
//保留小数点后两位
$value=sprintf("%0.2f",$value);
//获取字符串长度
$len=strlen($value);
//将字符串从后向前依次取出
for($i=$len;$i>=0;$i--){
$val=$value[$i];
if($val!='.'){
//当遇到是0时 不带单位
if($val=='0'){
$v_c[]=$v_b[$val];
} else{
//例如 四分
$v_c[]=$v_b[$val].$v_a[$len-$i-1];
}
}
}
//数组倒置
$v_c=array_reverse($v_c);
//从前往后输出
foreach($v_c as $val){
$result.=$val;
}
unset($v_a);unset($v_b);unset($v_c);
return $result;
}
// $value='45123056.78';
$value='23058.04';
print floatohz($value);
exit;