none
¿Son equivalentes estas conversiones o existe alguna diferencia?

Respuestas

  • Hola James-2016,

    Son diferentes, aunque en la forma que lo muestras cumple el mismo objetivo que es convertir el valor nNumero a String.

    El CStr(valor) convierte un valor de "X" tipo a String.

    El CType(valor, tipo) convierte un valor al tipo de dato que especificas. Lo que diferencia del CStr que solo se usa para convertir a cadenas.

    Ejem: El famoso sender de los eventos.

    Dim txt As TextBox = CType(sender, TextBox)

    Para convertir a String puedes usar esa función, Convert.ToString(...) o asignándole el .ToString().

    Según MSDN : CTypeCStr Function

    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI


    sábado, 8 de octubre de 2016 22:53
  • James-2016,

    Ambas instrucciones son perfectamente equivalentes. ¿Diferencia?, no veo, CType y su versión especializada CStr convierten una referencia a un tipo especifico, que para el ejemplo es un tipo String. De hecho, así como existe CStr como función especializada también hay implementaciones para otros tipos de datos elementales como CBool, CByte, CChar, CDate, CDec, etc. 

    Sin embargo, en el contexto del problema que presentas deberías utilizar la función ToString porque simplemente necesitas obtener una representación de cadena de un objeto que es un número:

    cTexto = nNumero.ToString


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    • Marcado como respuesta James-2016 domingo, 9 de octubre de 2016 1:01
    domingo, 9 de octubre de 2016 0:35

Todas las respuestas

  • Hola James-2016,

    Son diferentes, aunque en la forma que lo muestras cumple el mismo objetivo que es convertir el valor nNumero a String.

    El CStr(valor) convierte un valor de "X" tipo a String.

    El CType(valor, tipo) convierte un valor al tipo de dato que especificas. Lo que diferencia del CStr que solo se usa para convertir a cadenas.

    Ejem: El famoso sender de los eventos.

    Dim txt As TextBox = CType(sender, TextBox)

    Para convertir a String puedes usar esa función, Convert.ToString(...) o asignándole el .ToString().

    Según MSDN : CTypeCStr Function

    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI


    sábado, 8 de octubre de 2016 22:53
  • ok, gracias.
    sábado, 8 de octubre de 2016 23:13
  • James-2016,

    Ambas instrucciones son perfectamente equivalentes. ¿Diferencia?, no veo, CType y su versión especializada CStr convierten una referencia a un tipo especifico, que para el ejemplo es un tipo String. De hecho, así como existe CStr como función especializada también hay implementaciones para otros tipos de datos elementales como CBool, CByte, CChar, CDate, CDec, etc. 

    Sin embargo, en el contexto del problema que presentas deberías utilizar la función ToString porque simplemente necesitas obtener una representación de cadena de un objeto que es un número:

    cTexto = nNumero.ToString


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    • Marcado como respuesta James-2016 domingo, 9 de octubre de 2016 1:01
    domingo, 9 de octubre de 2016 0:35
  • mm entiendo ToString para representar el número como cadena y lo otro para convertir al tipo String, complementa la explicación tu respuesta, gracias.
    domingo, 9 de octubre de 2016 1:00