问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何把阿拉伯数字转换为中文大写?

发布网友 发布时间:2022-04-23 03:53

我来回答

2个回答

热心网友 时间:2022-04-27 17:55

之前在CSDN论坛里,看有人Show了一些把中文大写转换成阿拉伯数字的程序代码,自己也用Java语言实现了程序设计,基本上能够实现十万亿以内的任何数字的转换。之前也帖出自己的实现代码。 但我个人认为,把大写转换为数字实际上是没有多少意义的。因为很少有把大写转为数字的,大多数都是把数字转换为大写。何况把大写转为数字并不是一件很容易的事情,因为汉语大写有很多种说法,比如说:101,它的汉语说法可以有好多种: (一)、百零一 (二)、一百零一 (三)、一百又一 (四)、幺零幺 因此,要实现起来其实是很难的。而且还要防止用户输入大小写不固定,一会输入“一百零一”,一会又输入“壹佰零壹”,或者是二者的杂合体。形式千变万化,何况这一个数字就可以有这么多种,还有那么多特殊的数字呢?除非用成统一标准的输入。否则是很容易出现问题的。 但是,数字转换成大写却是很实用的,平时去银行用得比较多,只要涉及金钱的时候,基本上都要求用大写。所以,这种转换看来是符合要求,因此,我用C#代码实现了其功能,并将用户输入用“,”分隔成三个一组的形式,可以实现百万亿级别的数字转换。下面我帖出部分代码,大家指正: 其他输入验证我就不帖出来了,只把核心代码帖出来class Chinese { public string returnResult(long num) { string numStr = num.ToString(); //主要理念是把数字字符串最终分隔为四个一组四个一组的,不足的不管。 if (numStr.Length > 8 & numStr.Length < 16) { //定义一个数组,存储整个字条串分隔后的字符串。然后两次递归调用。 //调用完全后,得到总的大写字符串。 string[] firstSplit = new string[2]; firstSplit[0] = numStr.Substring(0, numStr.Length - 8); firstSplit[1] = numStr.Substring(numStr.Length - 8, 8); string result1 = getString(firstSplit[0]) + "億"; string result2 = getString(firstSplit[1]); return result1 + result2; } else { return getString(numStr); } } //进行一次递归调用,得到两组四位数字的大字字串 public string getString(string str) { if (str.Length > 4) { string[] secondSplit = new string[2]; secondSplit[0] = str.Substring(0, str.Length - 4); secondSplit[1] = str.Substring(str.Length - 4, 4); string result1 = getRe(secondSplit[0]); string result2 = getRe(secondSplit[1]); //确定是否加“万”字 if (!secondSplit[0].Equals("0000")) { result1 += "萬"; } return result1 + result2; } else { return getRe(str); } } int[] value = { 1000, 100, 10 }; //将四位数以内的字符串返回为正确的大写称呼 比如1234 返回:一千二百三十四 public string getRe(string doWith) { char[] number = doWith.ToCharArray(); int length = number.Length; string re = ""; for (int i = 0; i < length; i++) { switch (number[i]) { case '0': if (re.EndsWith("零")) { re += ""; } else { re += "零"; } break; case '1': re += "壹"; break; case '2': re += "贰"; break; case '3': re += "叁"; break; case '4': re += "肆"; break; case '5': re += "伍"; break; case '6': re += "陆"; break; case '7': re += "柒"; break; case '8': re += "捌"; break; case '9': re += "玖"; break; } int index = (int)Math.Pow(10, length - i - 1); if (number[i].ToString() == "0") { index = -1; } switch (index) { case 1000: re += "仟"; break; case 100: re += "佰"; break; case 10: re += "拾"; break; } } if (re.EndsWith("零")) { re = re.Substring(0, re.Length - 1); } return re; } }

热心网友 时间:2022-04-27 19:13

付费内容限时免费查看回答亲!请稍等一会儿,小柠檬为您查询

7.设置完成后,选定区域内的数字已经自动变成中文大写数字了。

亲!您可以按照以上步骤来操作哦,祝您生活愉快!

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
交通事故致人死亡,该如何处理? 爱普生LQ1600KIIIH 断色带 爱普生针式打印机LQ1600KⅢH近两月来总频繁中断打印,同时电脑显示是通讯... ACQUA DI PARMA 帕尔玛之水 蓝色地中海系列 桃金娘加州桂中性淡香水 E... 女士香水推荐-ACQUA DI PARMA 帕尔玛之水 优雅木兰女士浓香水 EDP 50... ACQUA DI PARMA帕尔玛之水克罗尼亚系列中性香水套装-适用对象 帕尔玛 | 必须拥有的小众沙龙香 ACQUA DI PARMA/帕尔玛之水克罗尼亚系列黑调男士古龙水-适用对象 ACQUA DI PARMA 帕尔玛之水 克罗尼亚系列 风度中性古龙水 EDC 20ml... ACQUA DI PARMA/帕尔玛之水-绅士男士古龙水EDC Excel中如何用公式将阿拉伯数字转换为中文小写数字。如图。 Excel如何自动将数字转化为特定的汉字 excel怎么将数字快速转换为汉字格式 EXCEL中如何把数字变成中文? 如何把EXCEL表格中的数字转换成相对应的汉字 怎样将数字转换成汉字函数 如何将数字全部转换成汉字? Excel 怎样把阿拉伯数字转换成指定的汉字 如何在excel里把数字转换为汉字 如何在Word中将阿拉伯数字转换成汉字 如何让EXCEL表中的数字转换为中文汉字数字 如何运用WORD制作复式条形统计图 如何在word中画条形统计图? 怎么用Microsoft Office 2010 做条形统计图 怎样在word文档中绘制统计图(柱形图、饼图) word文档线性指标怎么做 word里统计图怎么设置尺寸 求救啊,怎么在Word上画条形统计图 信用卡欠钱一直没有还,现在微信零钱被冻结了,外地的银行卡可以用吗? 信用卡逾期几个月发来这个是真的吗微信会被冻结吗? 相亲男生微信应该怎么聊天 请高人解梦。多谢! 谁会解梦!求助! 和相亲对象第一次见微信应该聊什么? 怎么和相亲的男生聊天? 第一次相亲互相加了微信,该聊些什么呢? 做梦梦见去世的外公对我说他要去往生,不管管阳世间的事是什么意思 怎么跟相亲男生微信聊天? 刚相亲后加微信和女生聊天聊什么? 跟相亲男微信聊了一个星期感觉挺愉快 梦见以前是女的,要归隐,退出世俗界,当时伤心的哭了,现实醒来真的掉了眼泪,求大神解析 一个男相亲对象,他说微信这么聊天真不会,真不知道怎么说话,什么意思 相亲了个男生,之后在微信上聊,找不到话题,很尴尬不知道聊点什么好… 第一次相亲加了微信好友但不知道聊什么,该怎么办? 相亲怎么聊天 第一次 相亲后微信怎么聊天 家里人刚给介绍了一个对象,加了微信,一开始怎么聊天?聊什么内容? 相亲见面后加了微信,第二天聊天不知道聊什么了,怎么办? 相亲没见面在微信上聊天都要说啥,问啥 安桌手机怎么设置微信分身?