欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

c#轉(zhuǎn)換全角半角方法示例

 更新時(shí)間:2013年12月05日 16:01:02   作者:  
這篇文章主要介紹了c#如何轉(zhuǎn)換全角半角,大家可以看一下下面的代碼方法,可以參考一下

C#全角轉(zhuǎn)換成半角

新建一個(gè)項(xiàng)目quanbanjiao,在此項(xiàng)目下新建一個(gè)類Class1

復(fù)制代碼 代碼如下:

using System;
using System.Web;
using System.Text;

namespace quanbanjiao
{
    public class Class1
    {
        /**/
        /// <summary>
        /// 判斷字符是否英文半角字符或標(biāo)點(diǎn)
        /// </summary>
        /// <remarks>
        /// 32    空格
        /// 33-47    標(biāo)點(diǎn)
        /// 48-57    0~9
        /// 58-64    標(biāo)點(diǎn)
        /// 65-90    A~Z
        /// 91-96    標(biāo)點(diǎn)
        /// 97-122    a~z
        /// 123-126  標(biāo)點(diǎn)
        /// </remarks>
        public static bool IsBjChar(char c)
        {
            int i = (int)c;
            return i >= 32 && i <= 126;
        }

        /**/
        /// <summary>
        /// 判斷字符是否全角字符或標(biāo)點(diǎn)
        /// </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>
        /// 將字符串中的全角字符轉(zhuǎn)換為半角
        /// </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類型,否則自動(dòng)設(shè)為0

            if (type.ToLower() == "int")
            {
                try
                {
                    Convert.ToInt32(sb.ToString());
                }
                catch
                {
                    return "0";
                }

            }

 

            //如果是float或double類型的,則只能輸入這兩種類型,否則自動(dòng)設(shè)為0
            if (type.ToLower() == "float" || type.ToLower() == "double")
            {
                try
                {
                    Convert.ToDouble(sb.ToString());
                }
                catch
                {
                    return "0";
                }
            }
            return sb.ToString();
        }
    }
}

相關(guān)文章

最新評(píng)論