如何将快速将数字转为文字
比如说 1 => 一,2=> 二, ..., 15=》十五
我当前想的是把中文存到一个数组中
$arr = ['一','二','三','四','五','六','七','八','九','十'];
不过这样也太麻烦了
如何将输入数字转换为中文,有没有更简单的方式?
最终实现的结果是这样的:
输入 12
输出
一二三四五六七八九十十一十二
求大神....
如何将快速将数字转为文字
比如说 1 => 一,2=> 二, ..., 15=》十五
我当前想的是把中文存到一个数组中
$arr = ['一','二','三','四','五','六','七','八','九','十'];
不过这样也太麻烦了
如何将输入数字转换为中文,有没有更简单的方式?
最终实现的结果是这样的:
输入 12
输出
一二三四五六七八九十十一十二
求大神....
太闲了,,,,,,,,,,,,,,,,,,,,,,
<?php
$str = 1237124129124;
//将一个字符串转换为数组
$arr = str_split((string)$str,1);
$cns = ['零','一','二','三','四','五','六','七','八','九'];
foreach ($arr as $key) {
echo $cns[$key];
}
//一二三七一二四一二九一二四
6月13日更新
支持千亿级别的数,修改 ws 数组可以无限扩充,修改cns数组为繁体可以用于人民币大写
<?php
function IntToString($num)
{
$cns = ['零','一','二','三','四','五','六','七','八','九'];
$ws = ['','十','百','千','万','十','百','千','亿','十','百','千'];
$str = '';
foreach (array_reverse(str_split((string)$num,1)) as $key => $value)
$str .= $ws[$key].$cns[$value];
$temp = '';//反转字符串
for($i = strlen($str)-1; $i>=0; $i--)
$temp .= mb_substr($str,$i,1,'utf-8');
return $temp;
}
echo IntToString(231231251237);
////二千三百一十二亿三千一百二十五万一千二百三十七
2 回答3.1k 阅读✓ 已解决
1 回答1.4k 阅读✓ 已解决
1 回答1k 阅读✓ 已解决
1 回答1.3k 阅读✓ 已解决
3 回答1.2k 阅读
2 回答1.2k 阅读
1 回答1.2k 阅读
这帖子正解 阿拉伯数字转中文数字