阿拉伯数字转中文小写数字
生活随笔
收集整理的这篇文章主要介绍了
阿拉伯数字转中文小写数字
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
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 "包含非阿拉伯字符!请更正!";} }
总结
以上是生活随笔为你收集整理的阿拉伯数字转中文小写数字的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: Oracle statspack 基本使
- 下一篇: gcc 编译错误:undefined r