如何在不使用库的情况下,切断数字的前导数字,以便仅显示最后两位数字。例如:
1923年至23年
2001年至01年
1234至34
123至23
只有
#include <iomanip>
#include <iostream>
谢谢!
答案 0 :(得分:8)
如果您只是使用整数,我建议您只是为了简单起见而使用mod%100:
int num =2341;
cout << num%100;
将显示41。
如果你需要一个领先的零,那就去做:
std::cout << std::setw(2) << std::setfill('0') << num%100 << std::endl;
答案 1 :(得分:6)
如果你的数字是int形式(而不是字符串形式),你应该考虑使用modulo operator。
如果数字是char []形式,有一个简单的解决方案,涉及索引到字符串,如:
char *myString = "ABCDE";
int lengthOfMyString = 5;
cout << myString[lengthOfMyString - 3]
<< myString[lengthOfMyString - 5]
<< myString[lengthOfMyString - 4];
//outputs the word CAB