您的位置:程序门 -> java -> j2se / 基础类



java如何区分哪个是半角哪个是全角,两者如何转换.


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


java如何区分哪个是半角哪个是全角,两者如何转换.
发表于:2007-03-20 15:38:10 楼主
如题,急
发表于:2007-03-20 15:45:531楼 得分:0
string   str   =   "123 ";

if   (str.length()   <   str.getbytes().length)   {
        return   true;
}   else   {
        return   false;
}
发表于:2007-03-20 16:43:192楼 得分:0
所谓的半角字符,它的   char   值一定是小于   128   的。

若要转换嘛……穷举好了,反正也不多     :)
发表于:2007-03-20 17:00:053楼 得分:0
string       asctohz(string       s)      
    {      
            string       hz= " ";      
            for       (int       i=1;i <=s.length();i++)      
                    {      
                            byte           c=s[i];      
                            if       (c> 32       &&       c <128)  
                                            hz=hz+string((char)163)+string((char)(128+c));      
                            else      
                                            hz=hz+string((char)c);      
                    }      
            return(hz);      
    }      
    void       __fastcall       tform1::button1click(tobject       *sender)      
    {      
                    showmessage(asctohz(edit1-> text));      
    }              
可能可以解决你的问题    
           
 
发表于:2007-03-20 17:01:594楼 得分:0
简单点   ,就判断是否小于256就行了。
至于转换,对于数字可以这样
static   char   getquanjiao(char   c)   {
        return   (char)   ((int)   c   +   ( '0 '   -   '0 '));
    }
发表于:2007-03-20 21:02:455楼 得分:0
public   boolean   isquanjiao(string   str)   {
                for   (int   i   =   0;   i   <   str.length();   i++)   {
                        char   code   =   str.charat(i);
                        int   chardode   =   code;
                        if   (chardode   > =   65281   &&   chardode   <   65373)   {
                                return   true;
                        }
                }
                return   false;
        }
发表于:2007-03-20 21:17:276楼 得分:0
呵呵,楼上的这么多应该够用了,
发表于:2007-03-21 10:14:517楼 得分:0
一般来说汉字是全角吧,标点那?


快速检索

最新资讯