金额转为大写形式
要求如下:
给定一个浮点数,将其转换为金额的中文大写形式的字符串。例如,123.45表示为“壹佰贰拾叁元肆角伍分”。注意以下几种情况:
A.当金额为整数时,只表示整数部分,省略小数部分,并添加“整”字,例如123表示成“壹佰贰拾叁元整”。
B.当金额中含有连续的0时,只需写一个“零”即可。例如10005表示为“壹万零伍元整”。
C.10的省略表示。例如110表示为“壹佰壹拾元整”,而10表示为“拾元整”。
D.100表示为“壹佰元整”,1000表示为“壹仟元整”等等。

设立三个字符串,方便后续的应用

yuan="亿千百拾万千百拾元角分";big="壹贰叁肆伍陆柒捌玖";end="";

将小数点去除,方便后续的运算

int y=(int)Math.round(x*100-0.5);//去小数

将小数和整数分离,并将整数部分转为字符串的形式

int xiaoshu=y%100;y=y/100;String money=String.valueOf(y);//转换成字符串形式

按照标号,去寻找对应的数字大写和单位

end=big.charAt(money.charAt(j)-'1')+""+yuan.charAt(k)+""+end;//按照标号去寻找对应的大写和单位

charAt() 方法用于返回指定索引处的字符
所以 该方法具体内容如下

if (y==0&&xiaoshu==0) {//小数整数均为零时end=end+"零元";}else if (y==10&&xiaoshu==0) {//为10时end="拾元整"+end;}else if (y!=0&&xiaoshu==0&&y!=10&&y%10!=0) {//小数为零而整数不为零int j=money.length()-1;int k=8;while(j>=0){if(money.charAt(j)=='0'&&money.charAt(j-1)=='0'){j--;k--;continue;}else if (money.charAt(j)=='0'&&money.charAt(j-1)!='0') {end="零"+end;j--;k--;continue;}end=big.charAt(money.charAt(j)-'1')+""+yuan.charAt(k)+""+end;//按照标号去寻找对应的大写和单位j--;k--;}end=end+"整";}else if (y==0&&xiaoshu!=0) {//只有小数时int m=xiaoshu/10;int n=xiaoshu%10;if (m!=0) {end=end+big.charAt(m-1)+"角";}if (n!=0) {end=end+big.charAt(n-1)+"分";}}else if (y%10==0) {//所求数是10的倍数时int j=money.length()-1;int k=8;while(j>=0){if(money.charAt(j)=='0'){j--;k--;continue;}end=big.charAt(money.charAt(j)-'1')+""+yuan.charAt(k)+""+end;j--;k--;}end=end+"元整";}

main函数较为简单


本题主要难度,在于缕清思路,分块完成

JAVA 人民币数字模式与中文繁体模式的转换(小白专用)!相关推荐

  1. java将数字转简体中文和繁体中文,支持金额模式

    最近项目中用到金额转大写的地方,然后hutool里面正好有这个功能. 工具类路径: cn.hutool.core.convert.Convert#digitToChinese 方法描述: /*** 金 ...

  2. Word文档中文繁体简体的转换

    GPS平台.网站建设.软件开发.系统运维,找森大网络科技! https://cnsendnet.taobao.com 来自森大科技官方博客 http://www.cnsendblog.com/inde ...

  3. Java输入数字转化为中文读法

    我也是刚开始学习java,闲着做了这么一个程序.(这个程序只是做着玩玩,各位可以适当更改) 可以把输入的数字转化为我们读出来的那种效果,基本上功能都还可以,关于"0"在不同位上的语 ...

  4. 使用java将数字转化为中文汉字

    在实际开发过程中,会有遇到需要将传入的数字参数转化为汉字用来展示的情况,这里给出自己的思考,供给大家参考. public static void convert(int number) {//数字对应 ...

  5. java人民币数字转大写汉字(小写转为大写).java

    对原有代码的优化,更简单易懂 java--人民币小写(金额)转为大写(金额转换)_CY_99的博客-CSDN博客_实数小写金额转大写pta 1,实现思路 因为汉语读法的特殊性把数字通过四位进行分割,因 ...

  6. Powershell 数字转大写中文,数字金额转中文繁体(改自C#)

    改自原创C#语法: https://zhidao.baidu.com/question/587949259275229805.html?fr=iks&word=c%23+%CA%FD%D7%D ...

  7. python人民币转大写_python 人民币数字转大写中文

    def digital_to_chinese(digital): str_digital = str(digital) chinese = {'1': '壹', '2': '贰', '3': '叁', ...

  8. python数字转换成中文大写_python 人民币数字转大写中文

    def digital_to_chinese(digital): str_digital = str(digital) chinese = {'1': '壹', '2': '贰', '3': '叁', ...

  9. python数字转对应中文_python中将阿拉伯数字转换成中文的实现代码 | 学步园

    复制代码 代码如下: #!/usr/bin/python #-*- encoding: utf-8 -*- import types class NotIntegerError(Exception): ...

最新文章

  1. Linux的文件和目录命令 linux系列⑤
  2. 敏捷个人俱乐部2012年2月线下活动:活出我的最好生活
  3. 用 Flask 来写个轻博客 (17) — MV(C)_应用蓝图来重构项目
  4. 浅谈CruiseControl的部署
  5. Android OOM的解决方式
  6. # 定义四边形_【四边形系列专题】 特殊平行四边形之矩形
  7. [Remoting]dotNet Framework升级后Remoting信道使用的安全问题
  8. iview使用之怎样通过render函数在table组件表头添加图标及判断多个状态
  9. spark StandAlone模式下的作业提交流程
  10. i3wm学习笔记-基础快捷键
  11. python运维系统模板,Python自动化运维之改造网页模板
  12. 抖音去水印java和js版本
  13. Boxy vehicle detection 数据集
  14. 失控的摄像头,谁是窥视者!
  15. 微信小程序开发基础知识2(黑马)
  16. PDE优化|逆问题中偏微分方程约束优化的惩罚方法(Matlab代码实现)
  17. 毕业设计 基于单片机的智能音响设计与实现 -物联网 嵌入式 stm32
  18. Excel计算个人所得税的计算公式:
  19. alot英文怎么读_lots是什么意思_lots怎么读_lots翻译_用法_发音_词组_同反义词_签( lot的名词复数 )-新东方在线英语词典...
  20. c++实验3—定期存款利息计算器

热门文章

  1. 网络最流行的伤感时代空间日志发布:那一年,我们十六、七岁
  2. DXF笔记:多义线线宽的绘制思路
  3. python延时us函数_Python延时操作实现方法示例
  4. java下标_Java 在Word中设置上标、下标
  5. 剧本杀闯关小程序app软件
  6. mysql主键_mysql主键是什么?
  7. JavaScript自动化脚本自动点击confirm 确认框
  8. “以图搜图”,背后的原理你不懂
  9. 执行socket的write方法之后,立刻close连接,对方是否能成功收到数据呢?
  10. 百度关键词抓取工具_百度网站关键词最蜘蛛快排 - 关于网站网站死链