Ver la Versión Completa : Problema con decimales en variables
darkopro
23/10/15, 20:04:02
Hola a todos, perdí mi móvil y estoy volviendo a hacerme los perfiles en Tasker. Cuál es mi sorpresa en un perfil simple que me está redondeando los decimales cuando antes no lo hacía. Alguien sabe cómo hacer para que trabaje con muchos decimales???
Muchas gracias de antemano y saludos a todos!!!
Enviado desde mi SM-G925F mediante Tapatalk
Hola Darkpro!
Podrias transcribir la accion/es que te dan el problema?
Enviado desde mi T1-701u mediante Tapatalk
WillyWeb
24/10/15, 13:26:22
Por lo que he podido comprobar la librería matemática de Tasker trabaja perfectamente con MUCHOS decimales, pero sólo representa (muestra al usuario) un par de ellos. Si quieres ver y trabajar con más puedes probar a programar las operaciones en JavaScript y luego pasar el resultado a una variable de Tasker.
Sin ver lo que quieres hacer es difícil darte más pistas. Sigue la recomendación de mlesir y pon aquí esa tarea de la que hablas.
darkopro
24/10/15, 21:52:39
Es algo super simple, porque estoy comenzando a volver a hacer todos mis perfiles desde el principio. Es una simple tarea para pasar segundos (%TIMES) a horas, minutos y segundos. En mi primera prueba....
Va y no funciona...
Horas, Minutos, Segundos (2)
A1: Establecer variable [ Nombre:%horas A:14589/3600 Calcular:Encendido Añadir:Apagado ]
A2: Separar variable [ Nombre:%horas Separador:. Eliminar base:Apagado ]
A3: Establecer variable [ Nombre:%horas A:%horas1 horas Calcular:Apagado Añadir:Apagado ]
A4: Establecer variable [ Nombre:%horas A:1 hora Calcular:Apagado Añadir:Apagado ] Si (if) [ %horas ig 1 horas ]
A5: Establecer variable [ Nombre:%minutos A:0.%horas2*60 Calcular:Encendido Añadir:Apagado ]
A6: Separar variable [ Nombre:%minutos Separador:. Eliminar base:Apagado ]
A7: Establecer variable [ Nombre:%minutos A:%minutos1 minutos Calcular:Apagado Añadir:Apagado ]
A8: Establecer variable [ Nombre:%minutos A:1 minuto Calcular:Apagado Añadir:Apagado ] Si (if) [ %minutos ig 1 minutos ]
A9: Establecer variable [ Nombre:%segundos1 A:0.%minutos2*60 Calcular:Encendido Añadir:Apagado ]
A10: Establecer variable [ Nombre:%segundos A:%segundos1 segundos Calcular:Apagado Añadir:Apagado ]
A11: Establecer variable [ Nombre:%segundos A:%segundos1 segundo Calcular:Apagado Añadir:Apagado ] Si (if) [ %segundos1 ig 1 segundos ]
A12: Establecer variable [ Nombre:%HhMmSs A:%horas, %minutos, %segundos Calcular:Apagado Añadir:Apagado ]
El problema es que en la primera división en vez de 4,0525 me redondea y me da de resultado 4,053 ¿?¿?¿?¿?¿?
He mirado por todas las opciones pero no encuentro nada para usar más o menos decimales. Antes podía trabajar con un montón de decimales y ahora en mi nuevo móvil...
No se a que viene esto
Enviado desde mi SM-G925F mediante Tapatalk
WillyWeb
24/10/15, 21:58:53
El problema es que en la primera división en vez de 4,0525 me redondea y me da de resultado 4,053 ¿?¿?¿?¿?¿?
He mirado por todas las opciones pero no encuentro nada para usar más o menos decimales. Antes podía trabajar con un montón de decimales y ahora en mi nuevo móvil...
No se a que viene esto
¿Antes? :oh:
Yo tengo ese resultado desde siempre.
Puede ser por la versión de Android o la de Tasker. Yo uso Android 4.4.2 y ahora mismo Tasker 4.7.u3 (la última oficial) aunque he usado unas cuantas anteriores con el mismo resultado.
WillyWeb
24/10/15, 22:42:14
Sobre tu tarea para convertir segundos en horas, minutos y segundos, podrías intentar un enfoque que evite hacer cálculos que dependan del número de decimales. En este caso podrías usar la función MOD (resto de una división).
Si aplicas este algoritmo...
seg = segundos MOD 60
minutos = (segundos - seg) / 60
min = minutos MOD 60
hor = (minutos - min) / 60
Suponiendo que...
segundos = 14589
Resulta que...
hor = 4
min = 3
seg = 9
En Tasker esa función MOD se escribe con el signo de % así que la primera acción del algoritmo sería...
Establecer variable [ Nombre:%seg A:%segundos % 60 Calcular:Encendido Añadir:Apagado ]
¿Te lanzas con el resto? :silbando:
darkopro
24/10/15, 22:42:48
¿Antes? :oh:
Yo tengo ese resultado desde siempre.
Puede ser por la versión de Android o la de Tasker. Yo uso Android 4.4.2 y ahora mismo Tasker 4.7.u3 (la última oficial) aunque he usado unas cuantas anteriores con el mismo resultado.
Antes en mis otros dispositivos, en este nunca.
Tasker 4.7u3m
Android 5.1.1
Enviado desde mi SM-G925F mediante Tapatalk
darkopro
25/10/15, 13:04:35
Sobre tu tarea para convertir segundos en horas, minutos y segundos, podrías intentar un enfoque que evite hacer cálculos que dependan del número de decimales. En este caso podrías usar la función MOD (resto de una división).
Si aplicas este algoritmo...
seg = segundos MOD 60
minutos = (segundos - seg) / 60
min = minutos MOD 60
hor = (minutos - min) / 60
Suponiendo que...
segundos = 14589
Resulta que...
hor = 4
min = 3
seg = 9
En Tasker esa función MOD se escribe con el signo de % así que la primera acción del algoritmo sería...
Establecer variable [ Nombre:%seg A:%segundos % 60 Calcular:Encendido Añadir:Apagado ]
¿Te lanzas con el resto? :silbando:
Mil gracias, esta tarde me pondré a ello ;)
Enviado desde mi SM-G925F mediante Tapatalk
vBulletin® v3.8.1, Copyright ©2000-2026, Jelsoft Enterprises Ltd.