计算机中人民币数字格式,数字转人民币金额大写

numToRmb.php

header("content-type:text/html;charset=utf-8");

function numToRmb($num){

$rmbNum = ['零','壹','贰','叁','肆','伍','陆','柒','捌','玖'];

$rmbUnit = ['分','角','元','拾','佰','仟','万','拾','佰','仟','亿','拾','佰','仟','万','拾','佰','仟'];

//数字预处理

if($num == '' || $num == 0){

return '请输入一个大于0的金额,谢谢!';

}else {

$num = number_format($num, 2, '.', '')*100;

}

if (strlen(number_format($num, 0, '', ''))>18) {

return '输入的金额不得超过千万亿!';

}

//开始数字转换人民币大写

$out1 = 0;

$numRmb = '';

$unit = '';

$rmb = '';

for ($out1 = 0 ; $out1 < strlen(number_format($num, 0, '', '')) ; $out1++) {

$numRmb = $rmbNum[substr(number_format($num, 0, '', ''), $out1, 1)];

$unit = $rmbUnit[strlen(number_format($num, 0, '', ''))-$out1-1];

$rmb = $rmb.$numRmb.$unit;

}

// 将大写人民币中的零进行调整

$rmbStrlen = strlen($rmb);

for ($out2=0; $out2 < $rmbStrlen; $out2=$out2+3) {

$tempRmb = substr($rmb, $out2, 6);

if ($tempRmb=='零元'||$tempRmb=='零万'||$tempRmb=='零亿') {

$left = substr($rmb, 0, $out2);

$right = substr($rmb, $out2+3);

$rmb = $left.$right;

$out2 = $out2 - 3;

$rmbStrlen = $rmbStrlen - 3;

}elseif ($tempRmb=='零拾'||$tempRmb=='零佰'||$tempRmb=='零仟') {

$left = substr($rmb, 0, $out2+3);

$right = substr($rmb, $out2+6);

$rmb = $left.$right;

$out2 = $out2 - 3;

$rmbStrlen = $rmbStrlen - 3;

}elseif ($tempRmb=='零分'||$tempRmb=='零角') {

$left = substr($rmb, 0, $out2);

$right = substr($rmb, $out2+6);

$rmb = $left.$right;

$out2 = $out2 - 6;

$rmbStrlen = $rmbStrlen - 6;

}

if ($tempRmb=='零零') {

$left = substr($rmb, 0, $out2);

$right = substr($rmb, $out2+3);

$rmb = $left.$right;

$out2 = $out2 - 3;

$rmbStrlen = $rmbStrlen - 3;

}

if(substr($rmb,strlen($rmb)-3)=='元') {

$rmb = $rmb.'整';

}

}

return $rmb;

}

echo numToRmb($_POST['num']);

?>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值