汉字转整型数字,如:三百八十六 转成 386
来源:互联网 发布:孔浩 java百度云 编辑:程序博客网 时间:2024/04/28 18:45
处理用户汉字数据,将之转化为阿拉伯数字
test();/** * 测试 */function test() { echo CnToInt('一'); // 1 echo CnToInt('十'); // 10 echo CnToInt('十一'); // 11 echo CnToInt('一百一十'); // 110 echo CnToInt('一千零一'); // 1001 echo CnToInt('一万零一百零一'); // 10101 echo CnToInt('一亿一千三百万零三千零一'); // 113003001 echo CnToInt('一千万亿'); // 11.0E+15}/** * 中文转数字 * @param String $var 需要解析的中文数 * @param Int $start 初始值 * @return int */function CnToInt($var, $start = 0) { if (is_numeric($var)) { return $var; } if (intval($var) === 0) { $splits = array('亿' => 100000000, '万' => 10000); $chars = array('万' => 10000, '千' => 1000, '百' => 100, '十' => 10, '一' => 1, '零' => 0); $Ints = array('零' => 0, '一' => 1, '二' => 2, '三' => 3, '四' => 4, '五' => 5, '六' => 6, '七' => 7, '八' => 8, '九' => 9, '十' => 10); $var = str_replace('零', "", $var); foreach ($splits as $key => $step) { if (strpos($var, $key)) { $strs = explode($key, $var); $start += CnToInt(array_shift($strs)) * $step; $var = join('', $strs); } } foreach ($chars as $key => $step) { if (strpos($var, $key) !== FALSE) { $vs = explode($key, $var); if ($vs[0] === "") { $vs[0] = '一'; } $start += $Ints[array_shift($vs)] * $step; $var = join('', $vs); } elseif (mb_strlen($var, 'utf-8') === 1) { $start += $Ints[$var]; $var = ''; break; } } return $start; } else { return intval($var); }}
我的影视站:好看影视网 www.haokanvideo.com
- 汉字转整型数字,如:三百八十六 转成 386
- 阿拉伯数字转汉字数字,如386转三百八十六
- 中文汉字 转成数字 编码 方法【转】
- 整型反转 如-123反转成-321
- 数字转成汉字表示(如222,1221 ,注意特殊情况:101,1001,10100等)
- 将整型数组转成一个完整的整型数字
- JS数字金额转成大写汉字
- C#数字金额转成大写汉字
- 字符串转整型数字
- PHP数字转汉字 比如1001转成1千零1
- 将整型数字转换为大写汉字的自定义函数
- [MSSQL]将整型数字转换为大写汉字
- 字符串转成整型(int)
- 人民币数字转汉字
- 数字转大写汉字
- java 数字转汉字
- c++ 数字转汉字
- 数字转汉字 金钱
- 黑马程序员-------.net基础知识二
- 轻松解决Win8IE10浏览器无法打开的问题
- 纯CSS实现各类气球泡泡对话框效果(推荐阅读)
- URL 中文 特殊字符 乱码处理
- Linux 进程通信 和 IO模型
- 汉字转整型数字,如:三百八十六 转成 386
- 【2097 Sky数】
- STL bitset用法总结
- Marks Distribution
- ubuntu备份与恢复
- hadoop Unable to load native-hadoop library --解决
- npm install
- 关于工具的中英文CHM指导书的菜单栏问题
- Linux之NiosSOC创建