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

如何将两个char类型的数字拼接并转换为int类型?

解决方法

方法一:数学运算(固定位数最直接)

既然你已经通过ctoi拿到了单个数字的int值,直接用数学逻辑拼接就行:第一个数字乘以10(对应十位权重)加上第二个数字,代码示例:

int first_digit = ctoi(line[1]);
int second_digit = ctoi(line[2]);
int combined_num = first_digit * 10 + second_digit; // 结果就是41

如果是更多位数的数字,比如三位,逻辑同理:digit1 * 100 + digit2 * 10 + digit3,以此类推,按位数的权重累加即可。

方法二:拼接字符串后转整数(适合可变位数)

如果不确定结尾数字的个数,或者想统一处理任意长度的数字字符,可以先把这些字符拼成完整字符串,再转成int:

// 以两个数字为例,构造字符串时要预留结束符位置
char num_str[3];
num_str[0] = line[1];
num_str[1] = line[2];
num_str[2] = '\0';

int combined_num = atoi(num_str); // atoi会把"41"直接转为int类型的41

如果用C++,也可以用std::stoi完成字符串转int的操作,逻辑一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 00:40:41