Cómo cortar dígitos iniciales? C ++
Pregunta
¿Cómo puedo cortar las principales dígitos de un número con el fin de mostrar sólo los dos últimos dígitos, sin usar la biblioteca. Por ejemplo:
1923 a 23
2001 a E 01
1234-34
123 a 23
sólo
#include <iomanip>
#include <iostream>
Gracias!
Solución
Si acaba de trabajar con números enteros que te sugiero simplemente haciendo% mod 100 por simplicidad:
int num =2341;
cout << num%100;
pantalla Would 41.
Y si necesita un cero acaba de hacer:
std::cout << std::setw(2) << std::setfill('0') << num%100 << std::endl;
Otros consejos
Si los números están en forma int (en vez de formato de cadena), usted debe pensar acerca del uso de la módulo operador .
Si los números están en char [] forma, existe una solución fácil que implica la indexación en la cadena, como:
char *myString = "ABCDE";
int lengthOfMyString = 5;
cout << myString[lengthOfMyString - 3]
<< myString[lengthOfMyString - 5]
<< myString[lengthOfMyString - 4];
//outputs the word CAB
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow