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

如何拆分整数中的数字并逆序拼接得到指定格式的日期?

注意:你示例代码中写的int birth = 011112;带有前导0,在C、C++、Java等支持八进制常量的语言中,这个值会被识别为八进制数,和你预期的十进制11112值不符,定义变量时请去掉前导0写作int birth = 11112;。

不需要数组、不需要循环,仅用整数的整除和取模操作就可以拆分出年、月、日三个部分,直接格式化输出即可实现需求。

C/C++ 实现代码

#include <stdio.h>

int main() {
    int birth = 11112;
    int day = birth % 100;
    int month = (birth / 100) % 100;
    int year = birth / 10000;
    printf("Your birth date is %02d.%02d.%02d.\n", day, month, year);
    return 0;
}

Python 实现代码

birth = 11112
day = birth % 100
month = (birth // 100) % 100
year = birth // 10000
print(f"Your birth date is {day:02d}.{month:02d}.{year:02d}.")

逻辑说明

  • 取日:对100取模% 100,直接得到整数最右侧的两位数字
  • 取月:先整除100去掉最后两位,再对100取模,得到中间两位数字
  • 取年:整除10000去掉后面四位,得到最左侧的数字
  • 输出时使用%02d或者对应语言的两位补零格式控制,自动为不足两位的部分补前导0,符合要求的01格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 04:54:04