简介 这篇文章主要介绍了c# 阿拉伯数字转成中文(示例代码)以及相关的经验技巧,文章约18490字,浏览量419,点赞数2,值得参考!
调用方法:
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;
}
}
}