c#转换全角半角方法示例_C#教程-查字典教程网
c#转换全角半角方法示例
c#转换全角半角方法示例
发布时间:2016-12-28 来源:查字典编辑
摘要:C#全角转换成半角新建一个项目quanbanjiao,在此项目下新建一个类Class1复制代码代码如下:usingSystem;usingS...

C#全角转换成半角

新建一个项目quanbanjiao,在此项目下新建一个类Class1

复制代码 代码如下:

using System;

using System.Web;

using System.Text;

namespace quanbanjiao

{

public class Class1

{

/**/

/// <summary>

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

/// </summary>

/// <remarks>

/// 32 空格

/// 33-47 标点

/// 48-57 0~9

/// 58-64 标点

/// 65-90 A~Z

/// 91-96 标点

/// 97-122 a~z

/// 123-126 标点

/// </remarks>

public static bool IsBjChar(char c)

{

int i = (int)c;

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

}

/**/

/// <summary>

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

/// </summary>

/// <remarks>

/// <para>全角字符 - 65248 = 半角字符</para>

/// <para>全角空格例外</para>

/// </remarks>

public static bool IsQjChar(char c)

{

if (c == 'u3000') return true;

int i = (int)c - 65248;

if (i < 32) return false;

return IsBjChar((char)i);

}

/// <summary>

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

/// </summary>

public static string ToBj(string type,string s)

{

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

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]);

}

//如果是int类型的,则只能输入int类型,否则自动设为0

if (type.ToLower() == "int")

{

try

{

Convert.ToInt32(sb.ToString());

}

catch

{

return "0";

}

}

//如果是float或double类型的,则只能输入这两种类型,否则自动设为0

if (type.ToLower() == "float" || type.ToLower() == "double")

{

try

{

Convert.ToDouble(sb.ToString());

}

catch

{

return "0";

}

}

return sb.ToString();

}

}

}

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新C#教程学习
    热门C#教程学习
    编程开发子分类