C/Visual C - Pasar de tipo CTimeSpan a integer

 
Vista:

Pasar de tipo CTimeSpan a integer

Publicado por Arise (37 intervenciones) el 15/10/2002 13:12:14
Necesito ke alguien me diga si hay o no hay la posibilidad de pasar de un tipo CTimeSpan a integer. Tambien he pensado ke ya ke se puede pasar de CTimeSpan a CString, tambien me serviria si alguien me dijese como pasar de CString a integer. Si fuese de Char a integer con atoi funcionaria pero incluso poniendo un cast para engañar al compilador la conversion la hace pero el numero es basura. Estare muy agradecido a kien me solucione el problema.
Gracias de antemano
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Conversión de CTimeSpan a Integer y CString a Integer

Publicado por Alejandro (1153 intervenciones) el 27/03/2025 16:40:52

Solución 1: Conversión de CTimeSpan a Integer


Para convertir un objeto de tipo `CTimeSpan` a un entero que represente, por ejemplo, el total de minutos, puedes utilizar la propiedad `GetTotalMinutes()` de la clase `CTimeSpan`. Aquí tienes un ejemplo de cómo hacerlo:

1
2
CTimeSpan timeSpan(1, 30, 0); // 1 hora y 30 minutos
int totalMinutes = static_cast<int>(timeSpan.GetTotalMinutes());

Esto te dará el total de minutos como un entero.

Solución 2: Conversión de CString a Integer


Para convertir un objeto `CString` a un entero, puedes utilizar la función `CString::Format` o `_ttoi` (dependiendo de si estás usando Unicode o no). Aquí tienes un ejemplo usando `_ttoi`:

1
2
CString strNumber = _T("12345");
int number = _ttoi(strNumber);

Asegúrate de que el contenido de `CString` sea un número válido antes de realizar la conversión para evitar resultados inesperados.

Solución 3: Manejo de errores


Si deseas asegurarte de que la conversión se realice correctamente, puedes verificar si el `CString` contiene un número válido antes de convertirlo. Aquí hay un ejemplo simple:

1
2
3
4
5
6
7
CString strNumber = _T("12345");
if (strNumber.GetLength() > 0 && _ttoi(strNumber) != 0) {
    int number = _ttoi(strNumber);
    // Utiliza el número como necesites
} else {
    // Maneja el error de conversión
}

Arise, estas soluciones deberían ayudarte a resolver los problemas de conversión que estás enfrentando.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar