题:请写个程序,将类似下面的大写金额转化为阿拉伯数字。
大写金额样例:玖仟伍佰零玖亿壹佰零玖万玖仟伍佰壹拾捌元整。

实现方式:

1、先来一个看起来比较高大上的有技巧的更适合装逼的一种方式:利用函数 str_replace 来实现

$a = "玖仟伍佰零玖亿壹佰零玖万玖仟伍佰壹拾捌元整";
$s = str_replace(array('壹','贰','叁','肆','伍','陆','柒','捌','玖','零','仟','佰','亿','整','元','拾','万'), array(1,2,3,4,5,6,7,8,9,0,'','','','','','',''), $a);
echo $s;

这个方法虽然看起来比较高大上,但是str_replace的性能是公认的差。

2、换一种性能相对好很多的做法,利用数组下标来实现。

$str = "玖仟伍佰零玖亿壹佰零玖万玖仟伍佰壹拾捌元整";
$capital = array('壹','贰','叁','肆','伍','陆','柒','捌','玖','零');
$relationship = array('壹' => 1,'贰' => 2,'叁' => 3,'肆' => 4,'伍' => 5,'陆' => 6,'柒' => 7,'捌' => 8,'玖' => 9,'零' => 0);
$letter = '';
for ($i=0; $i<mb_strlen($str); $i++) {$s = mb_substr($str, $i, 1);if (in_array($s, $capital)) {$letter .= $relationship[$s];}
}
echo $letter;

以上是我列出来的两个解决方案。

下面列几个涉及的相关函数

1、字符串切割成数组    explode str_split

2、子字符串替换    str_replace  这个最经常用的是敏感词过滤 之后详细说。

金额大小写转化、阿拉伯数字转大写数字,大写数字转阿拉伯数字相关推荐

  1. 在Excel中金额大小写一键切换(如果你还在手动输入就OUT了)

    在Excel中金额大小写一键切换 目录 在Excel中金额大小写一键切换 1.选中单元数字鼠标右键"设置单元格格式" 2.点击自定义,然后在右侧下拉找到​. 3.击确定完成 1.选 ...

  2. 将阿拉伯数字转化成大写的人民币数字

    将阿拉伯数字转化成大写的人民币数字 public  String getNumberToRMB(String m) ... {      String num = "零壹贰叁肆伍陆柒捌玖&q ...

  3. 人民币金额中数字格式转化为中文的人民币大写格式的全部代码

    最近搞一个金额转汉语中大写的需求,网上大神就是多啊,扒了一个比较靠谱的,再次贴上,收藏!!! package cn.yake; import java.math.BigDecimal;/*** 数字转 ...

  4. js完美转换阿拉伯数字为数字大写

    js将阿拉伯数组转换为中文数字 文章摘自:  js完美转换阿拉伯数字为数字大写(原创) 直接上代码: //阿拉伯数字转换为简写汉字 function Arabia_To_SimplifiedChine ...

  5. php把阿拉伯数字转为银行数字大写

    php把阿拉伯数字转为银行数字大写 前言:之前在做一个外贸公司的询报价系统时用到了记录关于金额的数据,一般阿拉伯数字都需要转为银行使用的大写数字,在这简单记录一下 /** 数字金额转换成中文大写金额的 ...

  6. 人民币大写转换小写数字金额 ts/es6

    /* 这里的金额 只到千万 不含亿元转换 */ /** 如果有亿元 算法和以下一样 加几步就是 */ /**想法: 把金额拆分三个数组分别计算 1. 以万结束为一个2. 以元结束为一个3. 小数 角分 ...

  7. php大写数字转换,PHP将阿拉伯数字转换成汉字大写支持小数点

    PHP将带有小数点的一串阿拉伯数字转换成汉字大写形式,就像转换人民币大写类似.加入了小数点的处理,只要是一连串的数字,不管是否带有小数点,通过本函数都能完美转换. PHP将阿拉伯数字转换成汉字大写支持 ...

  8. 把阿拉伯数字翻译成中文大写数字

    package com.zcw.zcwbook.demo15;/*** @program: zcwbook* @description: 把阿拉伯数字翻译成中文大写数字* @author: zhaoc ...

  9. 【工具封装】Python 实现将阿拉伯数字 === 转换成中文大写数字

    一.序言:   工具封装第四弹,阿拉伯数字 ===> 转换成 ===> 中文大写数字,喜欢就赶紧收藏+点赞+关注吧 !!! ---- Nick.Peng 二.实现代码如下: #!/usr/ ...

最新文章

  1. 算法分析与设计之多处最优服务次序问题2
  2. datasnap 如何监控客户端的连接情况
  3. QDoc命名事物Naming Things
  4. Spring quartz 并发性研究
  5. AI算法连载04:数学基础之蒙特卡洛方法与MCMC采样
  6. Hyper Text Transfer Protocol(超文本传输协议)
  7. pandas根据索引删除dataframe列
  8. 通过 Python 装饰器实现DRY(不重复代码)原则
  9. IBM推出世界最小电脑,应用区块链技术防偷骗!
  10. 【转】使用并口控制笔记本软驱中的电机
  11. SQL Sever 创建视图
  12. [20210425]什么?号称世界上最难的数独居然没有坚持到2秒
  13. 万维钢 万万没想到读书笔记
  14. oracle 10102,linux - linux中的Oracle数据库安装程序[INS-10102]安装程序初始化失败 - SO中文参考 - www.soinside.com...
  15. 基于matlab的车牌定位算法设计与实现,原创】基于matlab的汽车牌照识别系统设计与实现...
  16. 【暑期每日一题】洛谷 P1192 台阶问题
  17. 阿里飞冰使用教程-前端低代码可视化GUI速开发
  18. 电子科大2020计算机考研真题,2021电子科技大学考研历年真题复习资料
  19. c语言 余额 自动生成,微信余额生成器
  20. [MM32生态]【MM32+模块】系列:03、RGB灯控制

热门文章

  1. 谭浩强《C语言》学习1
  2. 【Bugfix系列】/usr/bin/ld: cannot find -lxxx 的解决办法
  3. 基于GPU编程的三维重建系统
  4. Android基本界面元素的使用与讲解
  5. IE8.0中显示不出来图片其他浏览器都可以显示
  6. 兼容chrome、firebox、IE阻止冒泡问题
  7. 华为平板 M3(青春版)ROOT教程 华为平板 M3一键root步骤
  8. HEVC解码器HM源码阅读(四)解析参数集
  9. 谷歌浏览器调用打印机不预览
  10. flask上传图片以及生成缩略图