zoukankan      html  css  js  c++  java
  • 全角转半角,半角转全角,判断字符是否为全角

         本贴为转自别人的blog,希望对朋友在datagridview或文本框开发过程中有全角半角的限制起作用

     /// <summary>
            
    /// 全角转半角的函数(DBC case)
            
    /// </summary>
            
    /// <param name="input">任意字符串</param>
            
    /// <returns>半角字符串</returns>
            
    ///<remarks>
            
    ///全角空格为12288,半角空格为32
            
    ///其他字符半角(33-126)与全角(65281-65374)的对应关系是:均相差65248
            
    ///</remarks>
            public string ToDBC(string input)
            {
                
    char[] c = input.ToCharArray();
                
    for (int i = 0; i < c.Length; i++)
                {
                    
    if (c[i] == 12288)
                    {
                        c[i] 
    = (char)32;
                        
    continue;
                    }
                    
    if (c[i] > 65280 && c[i] < 65375)
                        c[i] 
    = (char)(c[i] - 65248);
                }


                
    string str = c.ToString().Replace(""".");
                
    return new string(c);
            }


            
    /// <summary>
            
    /// 判断字符是否为全角字符
            
    /// </summary>
            
    /// <param name="c">任意字符</param>
            
    /// <returns>全角字符返回true,半角返回false</returns>
            public bool isCharDBC(char c)
            {
                
    if (c > 65280 && c < 65375)
                    
    return true;
                
    else
                    
    return false;
            }


            
    /// <summary>
            
    /// 半角转全角的函数(SBC case)
            
    /// </summary>
            
    /// <param name="input">任意字符串</param>
            
    /// <returns>全角字符串</returns>
            
    ///<remarks>
            
    ///全角空格为12288,半角空格为32
            
    ///其他字符半角(33-126)与全角(65281-65374)的对应关系是:均相差65248
            
    ///</remarks>        
            public string ToSBC(string input)
            {
                
    //半角转全角:
                char[] c = input.ToCharArray();
                
    for (int i = 0; i < c.Length; i++)
                {
                    
    if (c[i] == 32)
                    {
                        c[i] 
    = (char)12288;
                        
    continue;
                    }
                    
    if (c[i] < 127)
                        c[i] 
    = (char)(c[i] + 65248);
                }
                
    return new string(c);
            }
  • 相关阅读:
    WMI远程添加修改用户
    C#中利用mediaplayer打造mp3播放器
    使用BackgroundWorker 实现文件下载、异步提示
    asp.net 修改图片的分辨率,修改图片的长宽象素比例,修改图片的物理宽度大小
    修改注册表,让组策略对管理员无效
    一款支持CHM格式的安卓阅读器:ireader
    一款超好用的PDF阅读器:智器阅读
    C#基础温习(8):命名空间介绍
    书籍推荐:《职场潜伏心理学:全世界最权威的88个心理学定律》
    C#基础温习(10):C#实现托盘功能
  • 原文地址:https://www.cnblogs.com/gossip/p/1346058.html
Copyright © 2011-2022 走看看