PHP数字金额转换成中文大写显示
整个功能其实不难,只是还算挺实用,所以记一下哈,其他编程语言转换一下也是能可以的!
思路:把传过来的金额转换成整数和小数两部分,再对其分别进行转换处理
代码附上:
functionmoneyToString($num)
{
$digits=['零','壹','贰','叁','肆','伍','陆','柒','捌','玖'];
$radices=['','拾','佰','仟','万','亿'];
$bigRadices=['','万','亿'];
$decimals=['角','分'];
$cn_dollar='元';
$cn_integer='整';
$num_arr=explode('.',$num);
$int_str=$num_arr[0]??'';
$float_str=$num_arr[1]??'';
$outputCharacters='';
if($int_str){
$int_len=strlen($int_str);
$zeroCount=0;
for($i=0;$i<$int_len;$i++){
$p=$int_len-$i-1;
$d=substr($int_str,$i,1);
$quotient=$p/4;
$modulus=$p%4;
if($d=="0"){
$zeroCount++;
}
else{
if($zeroCount>0)
{
$outputCharacters+=$digits[0];
}
$zeroCount=0;
$outputCharacters.=$digits[$d].$radices[$modulus];
}
if($modulus==0&&$zeroCount<4){
$outputCharacters.=$bigRadices[$quotient];
$zeroCount=0;
}
}
$outputCharacters.=$cn_dollar;
}
if($float_str){
$float_len=strlen($float_str);
for($i=0;$i<$float_len;$i++){
$d=substr($float_str,$i,1);
if($d!="0"){
$outputCharacters.=$digits[$d].$decimals[$i];
}
}
}
if($outputCharacters==""){
$outputCharacters=$digits[0].$cn_dollar;
}
if($float_str){
$outputCharacters.=$cn_integer;
}
return$outputCharacters;
}
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对毛票票的支持。如果你想了解更多相关内容请查看下面相关链接