源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

c#转换全角半角方法示例

  • 时间:2020-12-04 17:08 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:c#转换全角半角方法示例
C#全角转换成半角 新建一个项目quanbanjiao,在此项目下新建一个类Class1
[u]复制代码[/u] 代码如下:
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();         }     } }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部