微博中统计文本框里面的字数(两个英文字符占一个汉字位置)
2012-04-12 21:09
288 查看
最近在做新浪微博,腾讯微博,还有人人网的分享!
总算告一段落了,其中遇到了一个小问题,感觉还是有点意思的!就是对输入的字数进行统计,但是微博分享的时候,有字数限制,如果我们只是在客户端把字数定位140个字,但其实到微博里面可能不够140个字!让用户感觉到有偏差!因为两个英文字符对应一个汉字,这样的话就,如果字符串是“abcd”,客户端统计的是四个字符,但是到微博里面却是两个字符!小小的思考了一下,写了一下代码,将来可以直接拿来使用!
public class Test {
public static void main(String[] args) {
String a = "abc你你知道吗123132135465465465";
double len = 0;
for (int i = 0; i < a.length(); i++) {
int temp = (int)a.charAt(i);
if (temp > 0 && temp < 127) {
len += 0.5;
}else{
len ++;
}
}
System.out.println("字符串中a的字数为:"+Math.round(len)+"个");
}
}
其中对半个字符扩充到了一个字符!这样就不会产生偏差了!
下面是代码和运行结果!
总算告一段落了,其中遇到了一个小问题,感觉还是有点意思的!就是对输入的字数进行统计,但是微博分享的时候,有字数限制,如果我们只是在客户端把字数定位140个字,但其实到微博里面可能不够140个字!让用户感觉到有偏差!因为两个英文字符对应一个汉字,这样的话就,如果字符串是“abcd”,客户端统计的是四个字符,但是到微博里面却是两个字符!小小的思考了一下,写了一下代码,将来可以直接拿来使用!
public class Test {
public static void main(String[] args) {
String a = "abc你你知道吗123132135465465465";
double len = 0;
for (int i = 0; i < a.length(); i++) {
int temp = (int)a.charAt(i);
if (temp > 0 && temp < 127) {
len += 0.5;
}else{
len ++;
}
}
System.out.println("字符串中a的字数为:"+Math.round(len)+"个");
}
}
其中对半个字符扩充到了一个字符!这样就不会产生偏差了!
下面是代码和运行结果!
相关文章推荐
- 截字符串(汉字一个算两个字符,英文算一个字符)
- 计算一段字符串的长度是否超出规定字数,两个英文字符占一个长度。
- 字数统计,一个英文字母算一个字,一个汉字算一个字,一个符号算一个字
- 汉字算一个字符(实际上占两个字节),英文字母也算是一个字符(实际上占一个字节)
- 解决文本框中输入字符限制---精确控制中文占两个字节,英文占一个字节~
- 判断一个字符是否为汉字的最佳方法 字数,字符,字节统计
- 在窗体上放置saveFileDialog、openFileDialog两个控件。实现功能:1)程序运行时,在文本框(注意文本框多行、带垂直滚动条)中输入汉字、字符等,单击保存按钮,即可将文本框中内容保
- 有一个字符串,其中包含中文字符、英文字符和数字、空格及其他字符,请统计和打印出各个字符的个数。
- JS判断输入字符串长度实例代码(汉字算两个字符,字母数字算一个)
- JS判断输入字符串长度(汉字算两个字符,字母数字算一个)
- 字符串统计,一个中文算2个字符,一个英文算一个字符
- 实现一个控制台程序,给定一段英文字符串,统计其中各个英文单词(4字符以上含4字符)的出现频率。
- js判断输入字符串长度(汉字算两个字符,字母数字算一个)
- 统计文本文件的汉字和英文字符的个数
- javascript计算中文字符长度(一个中文字符相当于两个英文字符)
- HTML文本框中怎么限制输入字符(因为页面会认为英文和汉字是一样的)
- 计算字符串的长度(一个汉字算两个字符)
- 有一个字符串,其中包含中文字符、英文字符和数字字符,请统计和打印出各个字符的个数。
- 给定一个英文原文,统计文件里面一共有多少个不同的英文单词
- javascript 返回字符长度,中文为两个字节,英文为一个字节