微博中统计文本框里面的字数(两个英文字符占一个汉字位置)

最近在做新浪微博,腾讯微博,还有人人网的分享!

总算告一段落了,其中遇到了一个小问题,感觉还是有点意思的!就是对输入的字数进行统计,但是微博分享的时候,有字数限制,如果我们只是在客户端把字数定位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)+"个");
	}
}

其中对半个字符扩充到了一个字符!这样就不会产生偏差了!

下面是代码和运行结果!

微博中统计文本框里面的字数(两个英文字符占一个汉字位置)_第1张图片

你可能感兴趣的:(String,新浪微博,腾讯,Class)