PHP

function generateCustomUPC($product_type, $manufacturer_code, $product_code): string
{
    // 将商品类型、厂商代码和商品代码转换为字符串
    $product_type = (string)$product_type;
    $manufacturer_code = (string)$manufacturer_code;
    $product_code = (string)$product_code;
    // 确保厂商代码和商品代码的长度为5位
    $manufacturer_code = str_pad($manufacturer_code, 5, '0', STR_PAD_LEFT);
    $product_code = str_pad($product_code, 5, '0', STR_PAD_LEFT);
    // 计算校验码
    $upcs = $product_type . $manufacturer_code . $product_code;
    $odd_sum = array_sum([$upcs[0], $upcs[2], $upcs[4], $upcs[6], $upcs[8], $upcs[10]]);
    $even_sum = array_sum([$upcs[1], $upcs[3], $upcs[5], $upcs[7], $upcs[9]]);
    $check_digit = (10 - (($odd_sum * 3 + $even_sum) % 10)) % 10;
    // 返回UPC码
    return $upcs . $check_digit;
}

Python

def generate_upc(product_type, manufacturer_code, product_code):
    # 将商品类型、厂商代码和商品代码转换为字符串
    product_type = str(product_type)
    manufacturer_code = str(manufacturer_code)
    product_code = str(product_code)
    # 确保厂商代码和商品代码的长度为5位
    manufacturer_code = manufacturer_code.zfill(5)
    product_code = product_code.zfill(5)
    # 计算校验码
    upcs = product_type + manufacturer_code + product_code
    odd_sum = sum([int(upcs[i]) for i in range(0, 11, 2)])
    even_sum = sum([int(upcs[i]) for i in range(1, 11, 2)])
    check_digit = (10 - ((odd_sum * 3 + even_sum) % 10)) % 10
    # 返回UPC码
    return upcs + str(check_digit)
最后修改:2023 年 04 月 30 日
如果觉得我的文章对你有用,请随意赞赏