Autor Tema: pasar de String a Long  (Leído 5596 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado NANO1985

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
    • Desarrollos Tecnologicos - Tucuman - Argentina
pasar de String a Long
« en: 22 de Septiembre de 2009, 16:45:30 »
hola muchachos... estaba programando en mikroC y despues de buscar y buscar,
no tiene ésta bendita funcion "StrToLong(string,value)"...
alguno sabe cómo convertir un String de 3 bytes a un solo registro tipo Long?
saludos y muchas gracias
"La inquebrantable voluntad de vencer"
"hay dos cosas infinitas... El universo y la Estupidez humana" Albert Einstein
 "El sabio actua sin anhelos, permanece sosegado,... así no es afectado por el resultado de sus acciones sean éstas el triunfo o el fracaso"
- UNIVERSIDAD TECNOLOGICA NACIONAL - FACULTAD REGIONAL TUCUMAN -

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: pasar de String a Long
« Respuesta #1 en: 22 de Septiembre de 2009, 16:48:05 »
Si no lo tiene implementado no queda otra que tomar el carácter, restarle 0x30 y multiplicarlo por 10, 100, 1000 o 10000 según corresponda  :?

Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado NANO1985

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
    • Desarrollos Tecnologicos - Tucuman - Argentina
Re: pasar de String a Long
« Respuesta #2 en: 22 de Septiembre de 2009, 17:22:20 »
mmmm eso me parecia que iba a tener que terminar haciendo,... bue...
de todas forma siempre aparece el gran suky por éstos lados!.... muchas gracias hermano!
saludos  8)
"La inquebrantable voluntad de vencer"
"hay dos cosas infinitas... El universo y la Estupidez humana" Albert Einstein
 "El sabio actua sin anhelos, permanece sosegado,... así no es afectado por el resultado de sus acciones sean éstas el triunfo o el fracaso"
- UNIVERSIDAD TECNOLOGICA NACIONAL - FACULTAD REGIONAL TUCUMAN -

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: pasar de String a Long
« Respuesta #3 en: 22 de Septiembre de 2009, 17:55:31 »
Otra que te queda es revisar stdlib de CCS y buscar la función atoi para poder hacer la tuya en MikroC  ;-)


Saludos!
« Última modificación: 22 de Septiembre de 2009, 18:39:58 por Suky »
No contesto mensajes privados, las consultas en el foro

Desconectado NANO1985

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
    • Desarrollos Tecnologicos - Tucuman - Argentina
Re: pasar de String a Long
« Respuesta #4 en: 22 de Septiembre de 2009, 19:05:51 »
Otra que te queda es revisar stdlib de CCS y buscar la función atoi para poder hacer la tuya en MikroC  ;-)


Saludos!

muchas gracias  8)
"La inquebrantable voluntad de vencer"
"hay dos cosas infinitas... El universo y la Estupidez humana" Albert Einstein
 "El sabio actua sin anhelos, permanece sosegado,... así no es afectado por el resultado de sus acciones sean éstas el triunfo o el fracaso"
- UNIVERSIDAD TECNOLOGICA NACIONAL - FACULTAD REGIONAL TUCUMAN -

Desconectado gera

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2188
Re: pasar de String a Long
« Respuesta #5 en: 22 de Septiembre de 2009, 19:22:05 »
No conozco mikroC, pero no tiene la funcion atol()? Es estandar asiq todos los compiladores deberian tenerla. Recibe un string y devuelve un long int
long int atol(const char *numPtr);

saludos!!

"conozco dos cosas infinitas: el universo y la estupidez humana. Y no estoy muy seguro del primero." A.Einstein

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: pasar de String a Long
« Respuesta #6 en: 22 de Septiembre de 2009, 19:42:14 »
Hola.

MikroC es ANSI C y tiene las siguientes funcioncillas:

  • double atof(char *s)
  • int atoi(char *s)
  • long atol(char *s)
  • int xtoi(char *s)

listar para ser usadas con la stdlib

Saludos
« Última modificación: 22 de Septiembre de 2009, 19:45:10 por MLO__ »
El papel lo aguanta todo

Desconectado NANO1985

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
    • Desarrollos Tecnologicos - Tucuman - Argentina
Re: pasar de String a Long
« Respuesta #7 en: 23 de Septiembre de 2009, 15:04:27 »
No conozco mikroC, pero no tiene la funcion atol()? Es estandar asiq todos los compiladores deberian tenerla. Recibe un string y devuelve un long int
long int atol(const char *numPtr);

saludos!!

no me había fijado en la funcion atol ()!!!  :-/.... (recuerden que no hace mucho tiempo que estoy con el CCS y el mikroC)
muchas gracias gera! y MLO__!
saludos german  8)
"La inquebrantable voluntad de vencer"
"hay dos cosas infinitas... El universo y la Estupidez humana" Albert Einstein
 "El sabio actua sin anhelos, permanece sosegado,... así no es afectado por el resultado de sus acciones sean éstas el triunfo o el fracaso"
- UNIVERSIDAD TECNOLOGICA NACIONAL - FACULTAD REGIONAL TUCUMAN -

Desconectado Marttyn

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1836
    • IDEAA
Re: pasar de String a Long
« Respuesta #8 en: 09 de Junio de 2010, 14:32:51 »
Eso de tener que añadir una libreria, y que ademas no haga exactamente lo que necesito no me convence  :?
Tengo una cadena de 35 caracteres, y los 3 primeros son numeros, pudiendo formar del 000 al 999.
Lo que hago es:
Código: C
  1. int C = 0;      //centenas
  2. int D = 0;      //decenas
  3. int U = 0;      //unidades
  4.  
  5.         C = Buffer[0];
  6.         D = Buffer[1];
  7.         U = Buffer[2];
  8.        
  9.         //convierto el valor del numero ASCII en su numero correspondiente
  10.         C = C - 0x30;
  11.         D = D - 0x30;
  12.         U = U - 0x30;
  13.        
  14.         Numero = (long)C * 100 + D * 10 + U;

Todavia no lo probe, ya que tengo que seguir con la programacion.
Pero os parece que puede ir funcionar? O al pasar de un CHAR a un INT me hara automaticamente la conversion?
Salu2
La gente ve las cosas que existen y se pregunta por qué.
Yo prefiero imaginar lo que no existe y preguntarme por qué no.