栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C# > C#教程

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

C#教程 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

C#全角转换成半角

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

复制代码 代码如下:
using System;
using System.Web;
using System.Text;

namespace quanbanjiao
{
    public class Class1
    {
       
        ///


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

        ///
        /// 32    空格
        /// 33-47    标点
        /// 48-57    0~9
        /// 58-64    标点
        /// 65-90    A~Z
        /// 91-96    标点
        /// 97-122    a~z
        /// 123-126  标点
        ///

        public static bool IsBjChar(char c)
        {
            int i = (int)c;
            return i >= 32 && i <= 126;
        }

       
        ///


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

        ///
        /// 全角字符 - 65248 = 半角字符
        /// 全角空格例外
        ///

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

        ///


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

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/126907.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号