C sharp - Partir INT C#

   
Vista:
Imágen de perfil de Jose Fdo

Partir INT C#

Publicado por Jose Fdo (10 intervenciones) el 13/02/2016 17:59:20
Hola saludos a todos primero que nada.
No soy muy experto en este tema pero quiero lo siguiente:
Ppor medio de un cable serial recibo una trama y esta me envía unos datos desordenada mente, ya logré organizarlos pero resulta y pasa que me los está enviando con caracteres de mas Ej: Segun el protocolo de comunicacón del otro equipo que me envía la información me dice que segun la trama los 5 primero digitos corresponden a xxxyyy Resultado y cuando la capturo me manda 000413 y debe quedar 4.13 como puedo partir ese entero y quitarle los ceros de mas?

Esto está guardado dentro de una variable.

De antemano agradezco la ayuda.
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 Wilfredo Patricio Castillo

Partir INT C#

Está sencillo, las tramas se capturas como cadenas (string), solo es cosa que hagas un Convert.ToIn32 al asignarlo a una variable de tipo entera, también debes tener presente que en las tramas si es valor es un decimal, también viene el punto(.) en la trama, entonces tienes que analizar esa cadena para poder determinar exactamente si es una fracción o solo un entero.

Ahora que si tu sabes que viene una cadena y absolutamente todos se deben convertir a decimales, entonces primero capturas el valor a entero y lo divides entre 100 y obtendrás lo que necesitas.

Saludos cordiales,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Jose Fdo

Partir INT C#

Publicado por Jose Fdo (10 intervenciones) el 14/02/2016 04:34:13
Hola,
Si las tramas generalmente se reciben con el punto o coma pero la de este equipo me la está enviando derecha solo con el inicio y fin en ASSCI pero me pareció excelente la idea de dividirlo por 100 o 10 no había pensado en eso, muchas gracias Wilfredo

Saludos!
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
Imágen de perfil de Alejandro

Partir INT C#

Publicado por Alejandro (8 intervenciones) el 15/02/2016 16:29:56
Si claro, concuerdo con la solución dada, solo que tendrías que validar el número, es decir saber si es un número de 3 cifras 2 o lo que sea para poder dividir entre 10 o 100, ejemplo si tienes un 4320 sabes que para obtener 4.320 debe dividir por 100 o si es 43205 divide por 1000 y tendrás 4.3205 o si divides por 100 obtienes 43.205 en fin, solo te resta validar el numero para determinar cómo obtener la cifra.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Javier

Partir INT C#

Publicado por Javier (9 intervenciones) el 17/02/2016 18:35:00
Puedes trabajar con String y SubString, es decir, si recibes 6 digitos y sabes que los 2 o 3 ultimos representan tus decimales, asignas el "." con substring y luego lo conviertes a INT.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar