zl程序教程

您现在的位置是:首页 >  后端

当前栏目

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

c#转换方法 示例 全角 半角
2023-06-13 09:15:13 时间

C#全角转换成半角

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

复制代码代码如下:


usingSystem;
usingSystem.Web;
usingSystem.Text;

namespacequanbanjiao
{
   publicclassClass1
   {
       /**/
       ///<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>
       publicstaticboolIsBjChar(charc)
       {
           inti=(int)c;
           returni>=32&&i<=126;
       }

       /**/
       ///<summary>
       ///判断字符是否全角字符或标点
       ///</summary>
       ///<remarks>
       ///<para>全角字符-65248=半角字符</para>
       ///<para>全角空格例外</para>
       ///</remarks>
       publicstaticboolIsQjChar(charc)
       {
           if(c=="\u3000")returntrue;

           inti=(int)c-65248;
           if(i<32)returnfalse;
           returnIsBjChar((char)i);
       }

       ///<summary>
       ///将字符串中的全角字符转换为半角
       ///</summary>
       publicstaticstringToBj(stringtype,strings)
       {
           if(s==null||s.Trim()==string.Empty)returns;

           StringBuildersb=newStringBuilder(s.Length);
           for(inti=0;i<s.Length;i++)
           {
               if(s[i]=="\u3000")
                   sb.Append("\u0020");
               elseif(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";
               }
           }
           returnsb.ToString();
       }
   }
}