如何切断前导数字? C ++

时间:2010-09-22 02:17:42

标签: c++ iomanip

如何在不使用库的情况下,切断数字的前导数字,以便仅显示最后两位数字。例如:

1923年至23年

2001年至01年

1234至34

123至23

只有

#include <iomanip>
#include <iostream>

谢谢!

2 个答案:

答案 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