C#全角转换成半角并检查建议收藏

新建一个项目quanbanjiao,在此项目下新建一个类Class11usingSystem;2usingSystem.Web;3usingSystem.Text;45name

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

全栈程序员社区此处内容已经被作者隐藏,请输入验证码查看内容
验证码:
请关注本站微信公众号,回复“验证码”,获取验证码。在微信里搜索“全栈程序员社区”或者“www_javaforall_cn”或者微信扫描右侧二维码都可以关注本站微信公众号。

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

 1 using System;
 2 using System.Web;
 3 using System.Text;
 4 
 5 namespace quanbanjiao
 6 {
 7     public class Class1
 8     {
 9         /**/
10         /// <summary>
11         /// 判断字符是否英文半角字符或标点
12         /// </summary>
13         /// <remarks>
14         /// 32    空格
15         /// 33-47    标点
16         /// 48-57    0~9
17         /// 58-64    标点
18         /// 65-90    A~Z
19         /// 91-96    标点
20         /// 97-122    a~z
21         /// 123-126  标点
22         /// </remarks>
23         public static bool IsBjChar(char c)
24         {
25             int i = (int)c;
26             return i >= 32 && i <= 126;
27         }
28 
29         /**/
30         /// <summary>
31         /// 判断字符是否全角字符或标点
32         /// </summary>
33         /// <remarks>
34         /// <para>全角字符 - 65248 = 半角字符</para>
35         /// <para>全角空格例外</para>
36         /// </remarks>
37         public static bool IsQjChar(char c)
38         {
39             if (c == '\u3000') return true;
40 
41             int i = (int)c - 65248;
42             if (i < 32) return false;
43             return IsBjChar((char)i);
44         }
45 
46         /* http://www.cnblogs.com/roucheng/ */
47         /// <summary>
48         /// 将字符串中的全角字符转换为半角
49         /// </summary>
50         public static string ToBj(string type,string s)
51         {
52             if (s == null || s.Trim() == string.Empty) return s;
53 
54             StringBuilder sb = new StringBuilder(s.Length);
55             for (int i = 0; i < s.Length; i++)
56             {
57                 if (s[i] == '\u3000')
58                     sb.Append('\u0020');
59                 else if (IsQjChar(s[i]))
60                     sb.Append((char)((int)s[i] - 65248));
61                 else
62                     sb.Append(s[i]);
63             }
64 
65             //如果是int类型的,则只能输入int类型,否则自动设为0
66 
67             if (type.ToLower() == "int")
68             {
69                 try
70                 {
71                     Convert.ToInt32(sb.ToString());
72                 }
73                 catch
74                 {
75                     return "0";
76                 }
77 
78             }
79 
80  
81 
82             //如果是float或double类型的,则只能输入这两种类型,否则自动设为0
83             if (type.ToLower() == "float" || type.ToLower() == "double")
84             {
85                 try
86                 {
87                     Convert.ToDouble(sb.ToString());
88                 }
89                 catch
90                 {
91                     return "0";
92                 }
93             }
94             return sb.ToString();
95         }
96     }
97 }

 

测试的例子:

using System;
using System.Web;
using quanbanjiao;//项目名称为quanbanjiao

namespace quanbanjiao
{
    public partial class WebForm1 : System.Web.UI.Page
    {
// keleyi.com
        protected void Page_Load(object sender, EventArgs e)
        {
        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            TextBox1.Text = Class1.ToBj("string", TextBox1.Text.Trim());
        }
    }
}

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/120782.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • navicat的注册码_navicat密钥注册

    navicat的注册码_navicat密钥注册Navicat相关注册码用户名和组织随便起。注册码如下 –NavicatforSQLServerV10.0.10NAVD-3CG2-6KRN-IEPMNAVL-NIGY-6MYY-XWQENAVI-C3UU-AAGI-57FW -NavicatPremium注册码NAVJ-E6YF-JULL-KKIGNAVE-BOCL-CE3X-TAGYNAVC-KAIA-NU5I-SPOXNAVL-…

    2022年10月13日
    2
  • MySQL基础篇(DDL,DML,DQL,DCL详细讲解)

    一、常用开发工具1.NavicateNavicat是一套快速、可靠并价格相宜的数据库管理工具,专为简化数据库的管理及降低系统管理成本而设。它的设计符合数据库管理员、开发人员及中小企业的需要。Navicat是以直觉化的图形用户界面而建的,让你可以以安全并且简单的方式创建、组织、访问并共用信息。http://www.navicat.com.cn/破解方式:https://www.jb51.net/database/710931.html再手动激活[外链图片转存失败,源站可能有防盗链.

    2022年4月7日
    134
  • Markdown中Latex 数学公式基本语法

    Markdown中Latex 数学公式基本语法Markdown中Latex数学公式基本语法公式排版分为两种排版:-行内公式:用\或者$包裹公式-独立公式:用\$包裹公式。例如:$\sum_{i=0}^{n}i^2$表示∑ni=0i2\sum_{i=0}^{n}i^2$$\sum_{i=0}^{n}i^2$$表示∑i=0ni2\sum_{i=0}^{n}i^2一下

    2022年6月16日
    28
  • 哪条区块链可以运行DAPP_区块链应用开发入门

    哪条区块链可以运行DAPP_区块链应用开发入门在区块链上编程:DApp 开发简介

    2022年4月20日
    44
  • c语言大数求和_指数幂的加法

    c语言大数求和_指数幂的加法文章目录1.大数加法2.大数幂运算3.大数求余废话不多说,直接上代码了。1.大数加法stringgetCountAdd(stringa,stringb){ stringc=””; intbit=-1;//判断是否进位-1为否,其他为进位数 inti=a.length()-1;//获得a字符串长度 intj=b.length()-1;//获得b字符串长度 //第一种情况两者都处理完 while(i!=-1&&j!

    2022年10月6日
    2
  • 剑指Offer面试题:2.二维数组中的查找

    一题目:二维数组中的查找二代码实现>>>23>>>1

    2021年12月19日
    42

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号