You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在C++中使用mod函数从ID中提取年份(附Excel示例)

在C++中实现类似Excel MOD函数的年份提取功能

当然可以在C中实现和你Excel里一样的逻辑,核心是用C的**取模运算符%**替代Excel的MOD函数,步骤和你在Excel里的操作完全一致,只是语法稍有不同。

具体实现步骤

针对你给出的示例ID 199734902138,步骤如下:

  • 这个ID数值很大,超过了32位整数的存储范围,必须用64位整数类型(比如long long)存储,避免溢出。
  • 用%计算取模结果,对应Excel的=MOD(id,100000000)
  • 用原ID减去取模结果,得到年份前缀的完整数值
  • 将前缀数值除以100000000,得到最终年份

完整代码示例

#include <iostream>

int main() {
    // 定义ID,加LL后缀明确为long long类型
    long long id = 199734902138LL;
    const long long divisor = 100000000;
    
    // 对应Excel的MOD操作
    long long mod_result = id % divisor;
    // 计算年份前缀部分
    long long year_part = id - mod_result;
    // 得到年份,转换为int类型更贴合实际使用场景
    int year = static_cast<int>(year_part / divisor);
    
    std::cout << "提取的年份:" << year << std::endl;
    return 0;
}

关键说明

  • C++的%运算符在正整数场景下和Excel MOD函数行为完全一致,都是返回两数相除后的余数。
  • 必须使用long long存储ID,因为199734902138远大于32位int的最大值(约2147483647),用int会导致溢出,结果错误。
  • 最后将year_part转为int是安全的,因为年份数值(如1997)在int的存储范围内。

内容的提问来源于stack exchange,提问作者THAVIDU

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 18:31:03