您的位置:首页 > 其它

编写函数进行日期转换;键输入的大写的日期转换成阿拉伯数字的形式。

2012-09-12 19:54 369 查看
using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace 日期转换a

{

class Program

{

// 编写函数进行日期转换;将输入的大写的日期转换成阿拉伯数字的形式

//二零一二年三月十三日 1012-3-13

//二零一二年三月十日 1012-3-10

//二零一二年三月二十三日 1012-3-23

//二零一二年三月二十日 2012-3-20

static void Main(string[] args)

{

Console.WriteLine("请输入大写日期:");

string inputCdate = Console.ReadLine();

Console.WriteLine(DateConvert(inputCdate));

Console.ReadKey();

}

private static string DateConvert(string date)

{

Dictionary<char, char> dict = new Dictionary<char, char>();

string dictionary = "零0 一1 二2 三3 四4 五5 六6 七7 八8 九9";

string[] parts=dictionary.Split(' ');

//parts[0]="零0"

for (int i = 0; i < parts.Length; i++)

{

dict.Add(parts[i][0], parts[i][1]);

}

StringBuilder sb = new StringBuilder();

for (int i = 0; i < date.Length; i++)

{

if (dict.ContainsKey(date[i]))

{

sb.Append(dict[date[i]]);

}

else if (!dict.ContainsKey(date[i]) && date[i] != '十')

{

sb.Append('-');

}

else

{

if (!dict.ContainsKey(date[i - 1]) && !dict.ContainsKey(date[i + 1]))

{

sb.Append("10");

}

else if (!dict.ContainsKey(date[i - 1]) && dict.ContainsKey(date[i + 1]))

{

sb.Append('1');

}

else if (dict.ContainsKey(date[i - 1]) && !dict.ContainsKey(date[i + 1]))

{

//

}

else if (dict.ContainsKey(date[i - 1]) && !dict.ContainsKey(date[i + 1]))

{

sb.Append('0');

}

}

}

return (sb.ToString().TrimEnd('-'));

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐