Spanish Convertir string a int

lumbanico

Member
Hola a todos,

Me estoy quebrando la cabeza y no sé cómo solucionarlo.

La cosa es que con una función genero, a partir de la fecha, un número. Pero si hago que la función me devuelva un string me da un valor y si hago que devuelva un int da otro valor distinto.

B4X:
Sub fncGenerarHuella () As Int 'Si es string devuelve un valor distinto.
    'Genera la huella para añadir en los registros.
    Dim datFecha As Long

    DateTime.DateFormat = "yyyyMMdd"
    DateTime.TimeFormat = "hhmmssSSS"
   
    datFecha = DateTime.Now
   
    Return DateTime.Date(datFecha) & DateTime.Time(datFecha)
   
End Sub

¿Alguien puede echarme una mano ?. Gracias
 

vampirbcn

Active Member
Licensed User
Longtime User
Si lo haces todo como String verás que funciona perfectamente, solo tienes que convertir a long el resultado, esta prueba me ha funcionado bien:

B4X:
Sub Activity_Create(FirstTime As Boolean)
    'Do not forget to load the layout file created with the visual designer. For example:
    'Activity.LoadLayout("Layout1")
    Dim a As String  ' aquí almacenamos el resultado de la funcion en formato String
    Dim b As Long ' esta la utilizamos para convertir el string en número
    a=fncGenerarHuella  ' Nos devuelve el valor
    b=a ' Convertimos a número Long
    Msgbox(a,b) ' Mostramos resultados
End Sub

Sub fncGenerarHuella () As String 'Si es string devuelve un valor distinto.
    'Genera la huella para añadir en los registros.
    Dim datFecha As Long
    DateTime.DateFormat = "yyyyMMdd"
    DateTime.TimeFormat = "hhmmssSSS"
 
    datFecha = DateTime.Now
     Return DateTime.Date(datFecha) & DateTime.Time(datFecha)
End Sub

Espero que esto te pueda ayudar
Saludos
 

IdasI4A

Active Member
Licensed User
Longtime User
Prueba a poner Long en vez de Int, me parece que un Int no puede almacenar un número tan largo, de 16 cifras
 
Cookies are required to use this site. You must accept them to continue using the site. Learn more…