c#数字字母的全角显示的问题,。各位兄弟姐妹,直接开始问题了:
是这样的,我的项目数据库中保存的一些数据要在电视上播出:文字显示出现了问题,默认下我们输入数字,字母,还有如(!,.-;:')等这些特殊字符的时候都是半角的,导致在电视上显示不对称,所以我要把这些字符保存到数据库的时候都是全角的(即和中文字占的宽度一样的)。但也不能苛刻的要求录入人员保证用全角模式输入。问:在程序里怎么写,用一个方法把整个字符串能全部转成全角?????我现在在程序里是这样写的:把那些特殊字符一个一个如下写出来,但这样效率太底了,也不全面,而且语句目前有60,70来个,而且有遗漏了还要增加
string = string.replace("A","A");
在此这种方法就不要再提了。
谢谢
是这样的,我的项目数据库中保存的一些数据要在电视上播出:文字显示出现了问题,默认下我们输入数字,字母,还有如(!,.-;:')等这些特殊字符的时候都是半角的,导致在电视上显示不对称,所以我要把这些字符保存到数据库的时候都是全角的(即和中文字占的宽度一样的)。但也不能苛刻的要求录入人员保证用全角模式输入。问:在程序里怎么写,用一个方法把整个字符串能全部转成全角?????我现在在程序里是这样写的:把那些特殊字符一个一个如下写出来,但这样效率太底了,也不全面,而且语句目前有60,70来个,而且有遗漏了还要增加
string = string.replace("A","A");
在此这种方法就不要再提了。
谢谢
Dim sText As String = "123456"
' Returns "hello world".
Dim sNewText As String = StrConv(sText, VbStrConv.Wide)
这是VB的写法,我想C#应该大致相同
/// 半角转全角
/// </summary>
/// <param name="BJstr"></param>
/// <returns></returns>
static public string GetQuanJiao(string BJstr)
{
#region
char[] c = BJstr.ToCharArray();
for (int i = 0; i < c.Length; i++)
{
byte[] b = System.Text.Encoding.Unicode.GetBytes(c, i, 1);
if (b.Length == 2)
{
if (b[1] == 0)
{
b[0] = (byte)(b[0] - 32);
b[1] = 255;
c[i] = System.Text.Encoding.Unicode.GetChars(b)[0];
}
}
} string strNew = new string(c);
return strNew; #endregion
} /// <summary>
/// 全角转半角
/// </summary>
/// <param name="QJstr"></param>
/// <returns></returns>
static public string GetBanJiao(string QJstr)
{
#region
char[] c = QJstr.ToCharArray();
for (int i = 0; i < c.Length; i++)
{
byte[] b = System.Text.Encoding.Unicode.GetBytes(c, i, 1);
if (b.Length == 2)
{
if (b[1] == 255)
{
b[0] = (byte)(b[0] + 32);
b[1] = 0;
c[i] = System.Text.Encoding.Unicode.GetChars(b)[0];
}
}
}
string strNew = new string(c);
return strNew;
#endregion
}
explore_xu(嘿我说) ( ) 信誉:100 Blog 2006-11-17 9:04:13 得分: 0
试试这个
Dim sText As String = "123456"
' Returns "hello world".
Dim sNewText As String = StrConv(sText, VbStrConv.Wide)
这是VB的写法,我想C#应该大致相同