阿拉伯数字转中文小写数字
生活随笔
收集整理的這篇文章主要介紹了
阿拉伯数字转中文小写数字
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
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