您的位置:首页 > 编程语言 > C#

C#中全角字符转换为半角

2008-06-04 17:33 706 查看

//判断字符是否英文半角字符或标点


//32 空格


//33-47 标点


//48-57 0~9


//58-64 标点


//65-90 A~Z


//91-96 标点


//97-122 a~z


//123-126 标点


public static bool IsBjChar(char c)






{


int i = (int)c;


return i >= 32 && i <= 126;


}






/**//// 判断字符是否全角字符或标点


/// 全角字符 - 65248 = 半角字符


/// 全角空格例外




public static bool IsQjChar(char c)






{


if (c == '/u3000')






{


return true;


}


int i = (int)c - 65248;


if (i < 32)






{


return false;


}


else






{


return IsBjChar((char)i);


}


}






/**//// 将字符串中的全角字符转换为半角


public static string ToBj(string s)






{


if (s == null || s.Trim() == string.Empty)






{


return s;


}


else






{


StringBuilder sb = new StringBuilder(s.Length);


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






{


if (s[i] == '/u3000')






{


sb.Append('/u0020');


}


else if (IsQjChar(s[i]))






{


sb.Append((char)((int)s[i] - 65248));


}


else






{


sb.Append(s[i]);


}


}


return sb.ToString();


}


}

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