如何在C++; 我想知道有没有人能告诉我如何用C++来追加一个整数(另一个整数)。基本上,如果我有一个int,它的值是67,我如何将它与数字4相加,使整数现在是674?提前谢谢
将第一个数字乘以第二个数字的十次方,然后将另一个数字相加如何在C++; 我想知道有没有人能告诉我如何用C++来追加一个整数(另一个整数)。基本上,如果我有一个int,它的值是67,我如何将它与数字4相加,使整数现在是674?提前谢谢,c++,integer,append,C++,Integer,Append,将第一个数字乘以第二个数字的十次方,然后将另一个数字相加 int appended = std::stoi(std::to_string(i1) + std::to_string(i2)); // error checking left as an exercise 示例:63和5 63*10=630 630+5 =635 示例:75和34 75*100=7500 7500+34=7534 int i1=75; int i2=34; int dn=ceil(log10(i2+0.001));
int appended = std::stoi(std::to_string(i1) + std::to_string(i2));
// error checking left as an exercise
示例:63和5
63*10=630
630+5 =635
示例:75和34
75*100=7500
7500+34=7534
int i1=75;
int i2=34;
int dn=ceil(log10(i2+0.001)); //0.001 is for exact 10, exact 100, ...
int i3=i1*ceil(pow(10,dn)); <---- because pow would give 99.999999(for some optimization modes)
i3+=i2;
75*100=7500
7500+34=7534
int i1=75;
int i2=34;
int dn=ceil(log10(i2+0.001))//0.001表示精确的10,精确的100。。。
int i3=i1*ceil(功率(10,dn)) 计算现有数字的位数,乘以其十次方,再加上第二个数字。#include
#include <iostream>
#include <string>
int appendDigit(int base, int append) {
std::string sBase = std::to_string(base);
std::string sAppend = std::to_string(append);
std::string result = sBase + sAppend;
return std::stoi(result);
}
int main() {
int a = 67;
int b = 4;
int c = appendDigit(a,b);
std::cout << c;
}
#包括
int-appendDigital(int-base,int-append){
std::string sBase=std::to_string(base);
std::string sAppend=std::to_string(追加);
std::string result=sBase+sAppend;
返回标准::stoi(结果);
}
int main(){
INTA=67;
int b=4;
int c=数字(a,b);
标准::cout
重构以减少代码重复是留给读者的一个练习。这里有一个更重要的练习:
int append_digits(int i1, int i2) {
int i2_copy = i2;
while (i2_copy) {
i1 *= 10;
i2_copy /= 10;
}
return i1 + i2;
}
这避免了浮点数学和字符串转换。我应该用数字/变量替换什么?你可以通过ceil(log10(i1))
小心log10(10)
正好是1,所以结果可能不正确。也许ceil(log10(i1+.1))
int append_digits(int i1, int i2) {
int i2_copy = i2;
while (i2_copy) {
i1 *= 10;
i2_copy /= 10;
}
return i1 + i2;
}