Asignar Valor De Tipo Single A Tipo Cadena


Objetivo: Asignar Valor De Tipo Single A Tipo Cadena
Hola!.

¿ Cómo es que no se queja de alguna manera el editor ?.
No son los mismos tipos. gambas hace la conversión automáticamente, internamente.

Public Sub Main()

Dim variable_tipo_single As Single
Dim variable_tipo_cadena As String

variable_tipo_single = 12.22
Print "El contenido de la variable tipo single es: " & variable_tipo_single
Print "Asignamos el contenido de la variable tipo single a una variable tipo cadena"
variable_tipo_cadena = variable_tipo_single
Print "El valor de la variable tipo cadena es: " & variable_tipo_cadena

End


Cosa distinta sería si fueran variables de tipo numérico distintos. Entero, Real, etc.

Saludos

Objetivo: Re: Asignar Valor De Tipo Single A Tipo Cadena
El operador & hace sus propios cambalaches antes de evaluar. Por otro lado, el IDE sólo comprueba que los nombres que escribes son correctos, es decir, que existen y todo eso. Si va a dar error o no, no lo sabe hasta que compiles, como mínimo.

Perfil MP  
Objetivo: Re: Asignar Valor De Tipo Single A Tipo Cadena
gambas utiliza un sistema de conversión implícita de tipos. Conversiones entre tipos numéricos y booleanos, números y cadenas, etc sólo cuando no sea posible la conversión se disparará un error en tiempo de ejecución (cuando debería ser en compilación).

He aquí unos pensamientos en voz alta de nuestro amigo (y ausente) fabianfv que escribía sobre el tema:

http://foro.gambas-es.org/viewtopic.php?p=14435#p14435

Saludos

Perfil MP  
Objetivo: Re: Asignar Valor De Tipo Single A Tipo Cadena
Jesús:

Son muy buenos los pensamientos en voz alta de Fabian.

Shordi:

No lo hace exactamente con el operador &.
Lo vi en un ejemplo de un función en la que Julio enseñaba la herencia entre clases.
Fíjate el tipo de hsueldoMensual y en la función Registrar, el tipo de parámetro que guarda la variable local , sueldo.

Property nombre As String
Private hnombre As String

Property SueldoMensual As String
Private hsueldoMensual As String

' Lectura y escritura de valores de propiedades

Private Function nombre_Read() As String

Return hnombre

End

Private Sub nombre_Write(Value As String)

hnombre = Value

End

Private Function SueldoMensual_Read() As String

Return hsueldoMensual

End

Private Sub SueldoMensual_Write(Value As String)

hsueldoMensual = Value

End

' Declaramos los metodos

Public Sub Consultar()

Print "Consultar datos...."
Print "Nombre: " & hnombre
Print "Sueldo: " & Sueldo()
Print "-----------------------------"

End

Public Function Sueldo() As String

Return Subst$("El sueldo de una persona es de &1", hsueldoMensual & "€")

End

Public Sub Registrar(nombre As String, sueldo As Single, Optional valor1 As Variant, Optional valor2 As Variant)
' Nombre como Cadena, sueldo como Single

hnombre = nombre
hsueldoMensual = sueldo

End


Como ves no esta por medio el operador "&"

Saludos

Objetivo: Re: Asignar Valor De Tipo Single A Tipo Cadena
Jesús lo ha explicado mejor que yo.

Perfil MP  

Página 1 de 1


  
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 0.1143s (PHP: -15% SQL: 115%)
Consultas SQL: 23 - Debug off - GZIP Activado