调用方法: public string ConvertToChineseNumber(string old) { Chinese ch = new Chinese(); long num = Convert.ToInt64(old); string re = ch.returnResult(num); if (re.StartsWith("壹拾")) { re = re.Substring(1, re.Length - 1); } return (re); }
完整代码 using System; using System.Collections.Generic; using System.Text; namespace Public { 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 }; 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; } } }
http://files.cnblogs.com/files/louby/1279894919.rar
时间: 2024-11-08 22:58:37