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

如何将char类型数组转换为整数以执行乘法运算?

解决char数组元素转整数进行乘法运算的问题

这确实是个容易卡壳的小细节,别担心,其实解法很简单!

问题根源

你遇到的问题是:char类型的数组里存储的是数字字符的ASCII值,比如字符'1'的ASCII码是49,'2'是50,以此类推。如果直接用code[2] * 100,实际上是用这个ASCII值去乘,结果自然不是你想要的数字运算结果。

解决方案

要把单个数字字符转换成对应的整数,只需要用该字符减去字符'0'的ASCII值就行——因为ASCII表中'0'到'9'是连续排列的,字符 - '0'会直接得到对应的0-9整数。

修改你的代码如下:

// 将字符转成对应整数后再计算
int duracaoinicial = (code[2] - '0') * 100;
int duracaofinal = (code[4] - '0') * 100;

注意事项

  • 确保code数组里的目标元素确实是0-9的数字字符,如果是字母、符号或者其他非数字字符,这个转换会得到错误的数值(比如'A'-'0'会得到41)。
  • 如果你的数组里是多位数字的字符串(比如"123"),那需要用atoi()或者strtol()这类函数来转换,但你的场景是单个字符转整数,用减'0'的方法最直接高效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 03:40:41