• Martes 16 de Abril de 2024, 10:08

Autor Tema:  Carga de numeros enteros  (Leído 2294 veces)

xuturk

  • Miembro activo
  • **
  • Mensajes: 50
    • Ver Perfil
Carga de numeros enteros
« en: Miércoles 17 de Marzo de 2010, 19:10 »
0
Hola a todos, soy programador en java, vamos que estoy aprendiendo pero ya me manejo bastante bien en el tema, y tenia en mente empezar tambien a programar en C#, puesto que son parecidos sintacticamente y las ventajas de C# son muchas, el problema es que he empezado a hacer cosas sencillas en C# como las tipicas cargas de numeros etc, pero mediante el metodo console.read() guardo lo que el usuario escribe por teclado en la variable numero, pero claro me lo guarda como ascii, y aun haciendo cast a char solo me guarda el primer numero si por ejemplo pongo 554, imagino que sera semejante al BufferReader de java que da problemas si no se usa ya que se guarda como bytes, pero me gustaria saber hacer estas cosas basicas, y no convertir cadenas a enteros, ya que me parece usar demasiadas funciones innecesarias jeje. Asi que si alguien pudiera indicarme como hacerlo le estaria muy agradecido.
PD: estoy hablando de programas en modo consola.

Muchas Gracias y un saludo

ProfesorX

  • Moderador
  • ******
  • Mensajes: 796
  • Nacionalidad: mx
    • Ver Perfil
Re: Carga de numeros enteros
« Respuesta #1 en: Jueves 18 de Marzo de 2010, 00:13 »
0
Deberias usar Console.ReadLine() en lugar de Console.Read(), el primero lee cadenas (string) enteras (hasta que pulses enter), y el segundo solo lee caracter por caracter, por eso no puedes leer el numero completo, solo el primer digito

Saludos :)

NOTA:
==================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
==================================================================

xuturk

  • Miembro activo
  • **
  • Mensajes: 50
    • Ver Perfil
Re: Carga de numeros enteros
« Respuesta #2 en: Jueves 18 de Marzo de 2010, 10:01 »
0
Cita de: "ProfesorX"
Deberias usar Console.ReadLine() en lugar de Console.Read(), el primero lee cadenas (string) enteras (hasta que pulses enter), y el segundo solo lee caracter por caracter, por eso no puedes leer el numero completo, solo el primer digito

Saludos :)

Muchas gracias, pero a eso me referia, como puedo hacer que cargue varios  numeros sin que cargue una cadena? alomejos es que estoy mal acostumbrado pero en java puedes cargar directamente los enteros en una variable simplemente con introducir el numero y con un metodo de carga de enteros, sin tener que convertirlos de un string a entero, no hay ninguna forma de hacerlo?
Muchas gracias un saludo!

josegomez

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
    • http://www.inggomez.iblogger.org
Re: Carga de numeros enteros
« Respuesta #3 en: Jueves 18 de Marzo de 2010, 15:33 »
0
Cita de: "xuturk"
Cita de: "ProfesorX"
Deberias usar Console.ReadLine() en lugar de Console.Read(), el primero lee cadenas (string) enteras (hasta que pulses enter), y el segundo solo lee caracter por caracter, por eso no puedes leer el numero completo, solo el primer digito

Saludos :)

Muchas gracias, pero a eso me referia, como puedo hacer que cargue varios  numeros sin que cargue una cadena? alomejos es que estoy mal acostumbrado pero en java puedes cargar directamente los enteros en una variable simplemente con introducir el numero y con un metodo de carga de enteros, sin tener que convertirlos de un string a entero, no hay ninguna forma de hacerlo?
Muchas gracias un saludo!
en C# (y yo pensaria que en java tambien, pero segun veo al parecer no segun lo que dices) Siempre tienes que convertirlos.

Hay varios metodos para esto. int.parse(o long.parse etc. dependiendo del rango que necesites para el entero), convert.toint16(de nuevo, dependiendo de la precision que necesites, hay int16, int32, int 64...) o int.TryParse(int entrada, out salida) que devuelve un valor booleano y el numero convertido.

Asi que basicamente creo que deberas convertirlos.

Painkiller

  • Nuevo Miembro
  • *
  • Mensajes: 13
    • Ver Perfil
Re: Carga de numeros enteros
« Respuesta #4 en: Jueves 18 de Marzo de 2010, 17:18 »
0
como decia josegomez tienes que convertirlos en una linea de ejemplo:
Código: C#
  1.  
  2. int numRecibido = Int32.Parse(Console.ReadLine());
  3.  
  4.  
De hecho cada tipo de valor (float, double, decimal ....) tiene su funcion Parse

xuturk

  • Miembro activo
  • **
  • Mensajes: 50
    • Ver Perfil
Re: Carga de numeros enteros
« Respuesta #5 en: Jueves 18 de Marzo de 2010, 21:47 »
0
Vale muchas gracias, si la funcion parse sabia usarla pero lo que no sabia era si se podian cargar directamente o no jeje pero bueno siendo asi me quedo mas tranquilo, en java teoricamente no se pueden cargar asi tampoco pero hay metodos que si permiten el tipico Keyboard.readInt() readString()... etc pero son una clase que viene con Jgrasp que es el que he usado hasta ahora, asi que vale jeje lo hare asi entonces convirtiendolo. Muchas gracias :D