黑马程序员技术交流社区
标题:
c#时间格式转换汉字
[打印本页]
作者:
墨蹄
时间:
2014-3-25 00:05
标题:
c#时间格式转换汉字
比如: “2011年6月4日” 转换成 “二零一一年六月四日”。
我写了一个方法实现,但是感觉有点长
static void Main(string[] args)
{
Console.WriteLine("2014年3月24日转换成{0}", GetStr("2014年3月24日"));
Console.ReadKey();
}
public static string GetStr(string strNum)
{
//获得字符串数组
char[] cList = strNum.ToCharArray();
string Str;
//定义数字数组
int[] numList = new int[10] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
//定义中文数组
string[] strList = new string[10] { "零", "一", "二", "三", "四", "五", "六", "七", "八", "九" };
//通过循环对比,替换数字为相对应的中文
for (int i = 0; i < cList.Length; i++)
{
for (int j = 0; j < numList.Length; j++)
{
if (cList[i].ToString() == numList[j].ToString())
{
cList[i] = strList[j].ToCharArray()[0];
}
}
}
//把char类型数组转换成string类型
Str = new string(cList);
return Str;
}
复制代码
作者:
许庭洲
时间:
2014-3-25 06:53
值得学习ing!
作者:
cancle
时间:
2014-3-25 09:15
额,你看这样写不是更好么?
static void Main(string[] args)
{
//比如: “2011年6月4日” 转换成 “二零一一年六月四日”。
string str = "2011年6月4日";
Getstr(ref str);
Console.WriteLine(str);
Console.ReadKey();
}
static void Getstr(ref string str)
{
char[] chs = str.ToCharArray();//将字符串转换为字节数组
for (int i = 0; i < chs.Length; i++)
{
switch(chs[i])
{
case '0': chs[i] = '零'; break;
case '1': chs[i] = '一'; break;
case '2': chs[i] = '二'; break;
case '3': chs[i] = '三'; break;
case '4': chs[i] = '四'; break;
case '5': chs[i] = '五'; break;
case '6': chs[i] = '六'; break;
case '7': chs[i] = '七'; break;
case '8': chs[i] = '八'; break;
case '9': chs[i] = '九'; break;
}
}
str = new string(chs);
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2