PHP 数字转为汉字描述,人民币大写方法。
-
个,十,百,千,万,十万,百万,千万,亿,十亿,百亿,千亿,万亿,十万亿,百万亿,千万亿,兆;此函数亿乘以亿为兆
-
以「十」开头,如十五,十万,十亿等。两位数以上,在数字中部出现,则用「一十几」,如一百一十,一千零一十,一万零一十等
-
「二」和「两」的问题。两亿,两万,两千,两百,都可以,但是20只能是二十,200用二百也更好。22,2222,2222是「二十二亿两千二百二十二万两千二百二十二」
-
关于「零」和「〇」的问题,数字中一律用「零」,只有页码、年代等编号中数的空位才能用「〇」。数位中间无论多少个0,都读成一个「零」。2014是「两千零一十四」,200014是「二十万零一十四」,201400是「二十万零一千四百」
-
参考:https://jingyan.baidu.com/article/636f38bb3cfc88d6b946104b.html
-
人民币写法参考:正确填写票据和结算凭证的基本规定
php -v >= 5.4
在 composer.json
文件中添加
"wilon/php-number2chinese": "~1.0"
或者
composer require wilon/php-number2chinese
#string number2chinese ( mixed $number [, bollen $isRmb] )#
将$number转为汉字念法
-
mixed $number
输入数字或字符串。 当数字过大或过小时,请输入string 支持负数
-
bollen $isRmb
默认为false,当为true时返回人民币大写汉字 人民币最大单位[仟兆],最小单位[毫]
$num1 = 0.1234567890;
echo number2chinese($num1); // 零点一二三四五六七八九
echo number2chinese($num1, true); // 零元壹角贰分叁厘肆毫
$num2 = 20000000000000000;
echo number2chinese($num2); // 两兆
echo number2chinese($num2, true); // 贰兆元整
$num3 = -1202030;
echo number2chinese($num3); // 负一百二十万零两千零三十
echo number2chinese($num3, true); // 负壹佰贰拾万零贰仟零叁拾元整
当数字过大时,请输入string
$num2 = 1234567890.0123456789;
echo number2chinese($num2); // 十二亿三千四百五十六万七千八百九十点零一二三
echo number2chinese($num2, true); // 壹拾贰亿叁仟肆佰伍拾陆万柒仟捌佰玖拾元零壹分贰厘叁毫
$num2 = '1234567890.0123456789';
echo number2chinese($num2); // 十二亿三千四百五十六万七千八百九十点零一二三四五六七八九
echo number2chinese($num2, true); // 壹拾贰亿叁仟肆佰伍拾陆万柒仟捌佰玖拾元壹分贰厘叁毫
若想精确小数点后两位,请先处理$num1
$num1 = 0.1234567890;
echo number2chinese(number_format($num1, 2)); // 零点一二
echo number2chinese(number_format($num1, 2), true); // 零元壹角贰分
php vendor/wilon/php-number2chinese/test.php // 随机一些数据进行测试
php vendor/wilon/php-number2chinese/test.php 2000 // 指定数字
有问题?发issues