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; }
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对毛票票的支持。如果你想了解更多相关内容请查看下面相关链接