国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

c#轉換全角半角方法示例

2020-01-24 03:01:39
字體:
來源:轉載
供稿:網友

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();
        }
    }
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 田林县| 郓城县| 盐边县| 密山市| 鹤峰县| 扬中市| 含山县| 海淀区| 乐山市| 中方县| 桐柏县| 台东市| 高安市| 南投市| 如东县| 潮州市| 吴堡县| 沿河| 星座| 枣强县| 大港区| 石柱| 镇巴县| 昌都县| 尤溪县| 康平县| 阿克苏市| 神木县| 泽州县| 洪泽县| 遵义市| 土默特左旗| 静宁县| 海林市| 仁化县| 九龙坡区| 武鸣县| 邳州市| 包头市| 历史| 仪陇县|