C# 人民币数字转大写
/// <summary>
/// 日期转中文
/// </summary>
/// <param name="oldDate"></param>
/// <returns></returns>
public static string ChineseDate(DateTime oldDate)
{
string year = oldDate.Year.ToString();
string month = oldDate.Month.ToString();
string day = oldDate.Day.ToString();
string newYear = string.Empty;
Hashtable ht = new Hashtable();
ht.Add("0", "0");
ht.Add("1", "一");
ht.Add("2", "二");
ht.Add("3", "三");
ht.Add("4", "四");
ht.Add("5", "五");
ht.Add("6", "六");
ht.Add("7", "七");
ht.Add("8", "八");
ht.Add("9", "九");
//获取年部分
foreach (char item in year.ToCharArray())
{
newYear += ht[item.ToString()].ToString();
}
return string.Format("{0}年{1}月{2}日", newYear, TransMonthDay(month, ht), TransMonthDay(day, ht));
}
private static string TransMonthDay(string monthOrDay, Hashtable ht)
{
int md;
if (monthOrDay.Length > 1 && monthOrDay.IndexOf("0") != 0)
{
md = int.Parse(monthOrDay.Substring(0, 1)) * 10 + int.Parse(monthOrDay.Substring(1, 1));
}
else
{
md = int.Parse(monthOrDay);
}
if (md >= 10)
{
decimal r = md / 10;
int d = md % 10;
return string.Format("{0}十{1}", ht[System.Math.Floor(r).ToString()].ToString() == "一" ? "" : ht[System.Math.Floor(r).ToString()].ToString(),
d == 0 ? "" : ht[d.ToString()].ToString());
}
else
{
return ht[monthOrDay].ToString();
}
}

浙公网安备 33010602011771号