Hola a todos, tengo una variable del tipo string y necesito convertirla a numeros decimales para poder hacer operaciones matematicas, Hay una forma sencilla?
Ej
B4X:
Dim cadena as string
Dim nro as int
cadena="1298398984"
´y con la conversion puedo por ejemplo multiplicar
nro=xxxx(cadena)
nro= nro * 1.31415
Cuidado con los decimales. Si en la cadena de texto el separador de decimales es la coma, la conversión no funcionará correctamente. Antes de dar los pasos que han sugerido los compañeros, sustituye las comas por puntos:
Funciona correctamente, solo si lo vas a multiplicar un numero entero con un decimal, la variable que reciba el resultado debe ser un Double no un int.
B4X:
Dim Numero As Int
Dim Cadena As String = "1298398984"
Numero = Cadena
Log("Resultado: "& (Numero * 1.31415))
'Resultado: 1.7062910248235998E9
Creo que no nos estamos entendiendo. Si que funciona. Solo digo que hay que tomar la precaucion que la cadena no venga con algo no numerico como "1234AB"
Creo que no nos estamos entendiendo. Si que funciona. Solo digo que hay que tomar la precaucion que la cadena no venga con algo no numerico como "1234AB"
Claro que si, pero el ejemplo de el solo son numero, no trae letras ni puntos ni comas, si ya busca convertir letras a números o extraer las letras de los números o validar la cadena es otro tema.
Hola a todos gracias por el soporte, tuve que dimensionar numero como double para que maneje los decimales, lo que estaba obteniendo es la memoria disponible en el telefono, asi me funciona
B4X:
OS.Initialize("")
Dim numero As Double
numero=OS.AvailableExternalMemorySize
lbl3.Text=(numero / 1000000000) & " mem ext libre"