欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

阿拉伯数字转中文小写数字

发布时间:2024/1/17 编程问答 39 豆豆
生活随笔 收集整理的这篇文章主要介绍了 阿拉伯数字转中文小写数字 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

C#版本

View Code using System; using System.Collections.Generic; using System.Text;namespace NumberConventer {class Class1{private string[] CnNum = { "", "", "", "", "", "", "", "", "", "" };private string[] ShiNum = { "", "", "", "" };private string[] WanNum = { "", "", "亿" };private string NumTh, OutCn;private bool isNumber(string aaa){try{int bbb = Convert.ToInt16(aaa);return true;}catch{return false;}}//判断是否为数字private string ChangeChineseNum(string Number,int Numlan){bool Zero = false, Wan = false, Hand = true;//zero 为是否需要输出汉字“零”,Wan为首否需要输出汉字“万”或“亿”,Hand 判断是否为第一个非零数字。int NumTemp;bool Booltemp = Int32.TryParse(Number, out NumTemp);if (!Booltemp){NumTemp = 0;}for (int i = 1; i <= Numlan; i++){NumTh = Number.Substring(i - 1, 1);int NowNum, NowTh = Numlan + 1 - i;if (isNumber(NumTh)){NowNum = Convert.ToInt16(NumTh);//OutCn = OutCn + CnNum[i]; }else{break;}if (NowNum == 0){if (Hand == true){continue;}else{Zero = true;}}else{Wan = true;if (Hand == true){if (NumTemp > 9 && NumTemp < 20){OutCn = OutCn + ShiNum[NowTh % 4];}else{OutCn = OutCn + CnNum[NowNum] + ShiNum[NowTh % 4];}Hand = false;}else{if (Zero == false){OutCn = OutCn + CnNum[NowNum] + ShiNum[NowTh % 4];}else{OutCn = OutCn + CnNum[0] + CnNum[NowNum] + ShiNum[NowTh % 4];Zero = false;}}}if (Wan == true && (NowTh - 1) % 4 == 0){OutCn = OutCn + WanNum[((NowTh - 1) / 4) % 2];for (int j = (NowTh - 1) / 8; j > 0; j = j - 1){OutCn = OutCn + WanNum[2];}Wan = false;}}if (isNumber(NumTh)){return OutCn;}else{return "包含非阿拉伯字符!请更正!";}}} }

javascript版本

View Code function ChangeChineseNum(Number) {var isNumber = function (aaa) {try {parseInt(aaa);return true;}catch (err) {return false;}};var CnNum = ["零", "一", "二", "三", "四", "五", "六", "七", "八", "九"];var ShiNum = ["千", "", "十", "百"];var WanNum = ["", "万", "亿"];var NumTh, OutCn = "";var Zero = false, Wan = false, Hand = true;//zero 为是否需要输出汉字“零”,Wan为首否需要输出汉字“万”或“亿”,Hand 判断是否为第一个非零数字。var Numlan;var NumTemp;var Booltemp;if (isNumber(Number)) {NumTemp = parseInt(Number);Numlan = NumTemp.toString().length;}else {NumTemp = 0;Numlan = 0;}for (var i = 1; i <= Numlan; i++) {NumTh = Number.toString().substring(i - 1, i);var NowNum, NowTh = Numlan + 1 - i;if (isNumber(NumTh)) {NowNum = parseInt(NumTh);//OutCn = OutCn + CnNum[i]; }else {break;}if (NowNum == 0) {if (Hand == true) {continue;}else {Zero = true;}}else {Wan = true;if (Hand == true) {if (NumTemp > 9 && NumTemp < 20) {OutCn = OutCn + ShiNum[NowTh % 4];}else {OutCn = OutCn + CnNum[NowNum] + ShiNum[NowTh % 4];}Hand = false;}else {if (Zero == false) {OutCn = OutCn + CnNum[NowNum] + ShiNum[NowTh % 4];}else {OutCn = OutCn + CnNum[0] + CnNum[NowNum] + ShiNum[NowTh % 4];Zero = false;}}}if (Wan == true && (NowTh - 1) % 4 == 0) {OutCn = OutCn + WanNum[((NowTh - 1) / 4) % 2];for (var j = parseInt((NowTh - 1) / 8); j > 0; j = j - 1) {OutCn = OutCn + WanNum[2];}Wan = false;}}if (isNumber(NumTh)) {return OutCn;}else {return "包含非阿拉伯字符!请更正!";} }

 

总结

以上是生活随笔为你收集整理的阿拉伯数字转中文小写数字的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。