/**
	 * 返回带正确检验码的商品条码.
	 * 
	 * @param value
	 *            商品条码前12位
	 * @return
	 */
	public String checkEAN(String value) {
		if (value.length() < 12)
			return value;

		int v = 0;
		for (int i = 1; i < 12; i = i + 2) {
			v += Character.digit(value.charAt(i), 10);
		}
		v *= 3;
		for (int i = 0; i < 12; i = i + 2) {
			v += Character.digit(value.charAt(i), 10);
		}
		v %= 10;
		if (v > 0) {
			v = 10 - v;
		}

		return value.substring(0, 12) + Integer.toString(v);
	}
评论
发表评论

您还没有登录,请登录后发表评论

gwbasic
搜索本博客
最近加入圈子
存档
最新评论