我想在我的整数中加入一些数字,但我不想总结它们,例如:
我有int car = 500;
,我想在其末尾添加一个数字5
,但我不想总结500
和5
,我希望它看起来像5005
。我怎么能这样做?
答案 0 :(得分:3)
// Only works for digits <10
int new_digit = 5;
// "Shift" the current value 1 digit left.
car *= 10;
// Append the new digit
car += new_digit;
要考虑的另一件事:如果你需要操纵这样的数字,int
是正确的数据类型吗?也许你最好用一根绳子?
答案 1 :(得分:1)
不会像下面这么简单吗?
int car = 500;
car *= 10; //adding another digit -> 5000
car += 5; // add that 5 -> 5005
答案 2 :(得分:0)
其他答案已经告诉你如何通过数学乘以10来做到这一点。根据你的需要,你也可以使用字符串,如下所示:
player.getInventory().setItem(paramInt, paramItemStack)
如果你走这条路,当然,你必须时刻小心,让角色阵列足够大,以容纳你在其中存储的字符串。对于生产代码,很多人建议不要使用int car = 500;
int newdigit = 5;
char carstr[10], suffix[10], newstr[20];
snprintf(carstr, 10, "%d", car);
snprintf(suffix, 10, "%d", newdigit);
strcpy(newstr, carstr);
strcat(newstr, suffix);
printf("%s\n", newstr);
/* or you can convert new digit string back to int */
int newnum = atoi(newstr);
printf("%d\n", newnum);
和strcpy
之类的函数,因为它太容易让最终溢出底层字符数组。