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
 
Top