银行考题,将阿拉伯数字转换成大写的汉字模式

例如

123456789.01  -> 壹亿贰千叁百肆十伍万陆千柒百捌十玖元零壹分

假定:  最小到“分”  最大到 “亿”
仿照之前写过的那个 罗马数字与阿拉伯数字转换的程序写的
1.用数组存 壹.... 
2.用数组存 十 百 千
3.按照“.” 分割 分别处理整数分数   按照“.” 分割 请注意 http://www.iteye.com/topic/165494
4.对“零”的处理
5.正则表达式检验输入有效性 (正则表达式 有必要好好的看看 总结总结  达到能够直接写出来的地步!!!)  后续加上
public class ConvertFromNumericToChinese {/*** split 是String的方法 不是StringBuilder的,split(.)的时候的注意问题http://www.iteye.com/topic/165494,* 然后字符串的高低位问题  "123"   第0位 ‘1’.  第1位 ‘2’  这样* @param args*/private static String[] chinese = {"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};private static String[] units = {"","十","百","千"};private static Object String;private static String convert(String num){StringBuilder sb = new StringBuilder(num);String[] str = num.split("\\.");if(str.length==1){//没有小数String zheng = convertZheng(str[0]);return zheng+"元整";}else{//小数情况String zheng = convertZheng(str[0])+"元";String fen = convertFen(str[1]);return zheng+fen;}}   private static String convertFen(String str) {int length = str.length();String temp ="";if(length==1)temp = chinese[Integer.parseInt(str)]+"角";  else{if(Integer.parseInt(""+str.charAt(0))!=0)temp = chinese[Integer.parseInt(""+str.charAt(0))]+"角";elsetemp = "零";temp += chinese[Integer.parseInt(""+str.charAt(1))]+"分";}return temp;}private static String convertZheng(String str) {int length = str.length();int startUderWan=0;int startY = 0;String temp = "";//用于拼接字符串  最后返回if(length>8){//上亿了。。。startY = 1;temp += chinese[Integer.parseInt(""+str.charAt(0))]+"亿";}if(length>4){//上万了String str1 = str.substring(startY,length-4);startUderWan = startY+startUderWan+str1.length();List<String> result1 = new ArrayList<String>();for(int i=0; i<str1.length(); i++){if((""+str1.charAt(i)).equals("0")){result1.add("零");continue;}result1.add(chinese[Integer.parseInt(""+str1.charAt(i))]+units[str1.length()-1-i]);}for(int i=0; i<result1.size(); i++){if(result1.get(i).equals("零")&&(i+1)<result1.size()&&result1.get(i+1).equals("零")){continue;}temp +=result1.get(i);}if(temp.endsWith("零"))temp = temp.substring(0,temp.length()-1);if(!temp.endsWith("亿"))//这种情况100005675  不能带 “万”temp+="万";}List<String> result = new ArrayList<String>();for(int i=startUderWan; i<length; i++){if((""+str.charAt(i)).equals("0")){result.add("零");continue;}result.add(chinese[Integer.parseInt(""+str.charAt(i))]+units[length-1-i]);}for(int i=0; i<result.size(); i++){if(result.get(i).equals("零")&&(i+1)<result.size()&&result.get(i+1).equals("零")){continue;}temp +=result.get(i);}if(temp.endsWith("零"))temp = temp.substring(0, temp.length()-1);return temp;}private static boolean isValid(String num) {//后续加上String matchStr = "。。。。。。。。。。。。";boolean isValid = num.matches(matchStr);return isValid;}public static void main(String[] args) {String s = "123456789.01";String result = convert(s);System.out.println(result);}}

银行考题,将阿拉伯数字转换成大写的汉字模式相关推荐

  1. win7计算机名改成大写,处置win7系统将word中的阿拉伯数字转换成大写数字的还原方案...

    随着电脑的使用率越来越高,我们有时候可能会遇到对win7系统将word中的阿拉伯数字转换成大写数字进行设置,如果我们需要对win7系统将word中的阿拉伯数字转换成大写数字进行设置时,要怎么处理win ...

  2. 阿拉伯数字转换成大写数字

    本文转载自http://blog.csdn.net/yeah86/article/details/3456706 之前在CSDN论坛里,看有人Show了一些把中文大写转换成阿拉伯数字的程序代码,自己也 ...

  3. 阿拉伯数字转换成大写的数字

    import java.math.BigInteger;/** * @author 作者 E-mail: * @version 创建时间:2016年9月18日 下午5:26:04 * 类说明 */ p ...

  4. 使用 C# 将数字转换成大写人民币

    贴段最近在项目中用到的一个函数. 因涉及到财务,需要把数字符转换成大写人民币汉字,于是自己动手写了一个,使用的算法比较笨,各位看客不要笑啊. 可转换数字大小在10亿以下,超过的,就无能为力了,不过大家 ...

  5. 【简单易懂】Java字符串应用场景:数字金额转换成大写汉字金额【金额转换】

    Java字符串应用场景:数字金额转换成汉字金额 文章目录 Java字符串应用场景:数字金额转换成汉字金额 前言 一.String简单介绍 二.字符串在开发中的应用场景 三.金额转换 3.1解题思路 3 ...

  6. js将阿拉伯数字转换成中文的大写数字

    js将阿拉伯数字转换成中文的大写数字 export const numberToChinese = (num) => {var AA = new Array("零", &qu ...

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

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

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

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

  9. 将一组阿拉伯数字转换成中文大写数字

    题目大概:  将一组阿拉伯数字转换成中文大写数字  52306 ==> 伍万贰千叁百零陆 我实现了将文件中的一组数字(每行为一个数)  形如: Java代码   25364 466932300 ...

最新文章

  1. 2022-2028年中国老年旅游市场深度调研及开发战略研究报告
  2. php日期选择插件,优雅的日期选择插件daterangepicker
  3. MOS2010开发基础和集几种开发模型
  4. clojure的感觉
  5. 抽象工厂+反射+依赖注入 实现对数据访问层和业务逻辑层的优化
  6. 写给MongoDB开发者的50条建议Tip6
  7. ElasticSearch什么是文档?索引一个文档
  8. 第十二天Python学习记录
  9. java EE map
  10. eclipse svn不能忽略文件及文件夹,ignore设置无效 ?
  11. java中typeof_JS typeof的用法
  12. linux批量重命名脚本,Linux批量命名文件SH脚本整理
  13. 2021-09-06LS是交替最小二乘(alternating least squares)的简称,用交替最小二乘求解的一个协同推荐算法。
  14. Quectel BC95-CNV 多频段、高性能、低功耗 LTE Cat NB2无线通信模块[移远通信]
  15. 如何卸载 Adobe Creative Cloud 桌面应用程序
  16. 模拟器安装magisk
  17. 【机器学习】机器学习项目全流程(附带项目实例)
  18. 关于电子科技大学学生用餐情况的一些调查
  19. 运用设计模式实现Sql语句动态转换
  20. 微信浏览器页面默认背景色的问题

热门文章

  1. “浏览器设置从上次停下的地方继续,但是电脑重启打开后还是主页”问题的解决办法
  2. 标注工具——VGG Image Annotator (VIA)
  3. 交互式系统中采用的调度算法
  4. 屹立千年,只为你一个回眸
  5. CloudCompare:点云间重叠区可视化对比
  6. 一、(4) 结巴分词词性提取
  7. 数学家西蒙斯:华尔街最赚钱的基金经理
  8. 爱心 python 词云_爱心 python 词云_python 词云
  9. STM32,三色灯组合任意颜色
  10. tal php x 1,PHP中TAL模板引擎语法的解析(代码)