Tasker Para hablar de todo lo relacionado con la aplicación tasker

Respuesta
 
Herramientas
  #1  
Viejo 03/12/14, 17:03:11
Array

[xs_avatar]
z3us z3us no está en línea
Usuario muy activo
 
Fecha de registro: ago 2010
Localización: Gijón / Madrid
Mensajes: 2,301
Modelo de smartphone: Note 3
Tu operador: Amena
Número de decimales al calcular variable

Parece que tasker, cuando establecemos una variable mediante un cálculo, no permite que tenga más de tres decimales. Por ejemplo, dividir 3.141592 entre uno da 3.142 ¿ Hay alguna forma de cambiar esto?
Responder Con Cita


  #2  
Viejo 03/12/14, 19:38:05
Array

[xs_avatar]
iveumaos iveumaos no está en línea
Usuario poco activo
 
Fecha de registro: may 2014
Mensajes: 17
Modelo de smartphone: Nexus 5
Tu operador: ONO
Yo lo arreglo multiplicando primero.
3.141592x1000=3141.592
Luego haces los cálculos que
quieras y finalmente la divides entre mil.
Si quisieras más precisión, por diez mil, cien mil, etc...
Responder Con Cita
Gracias de parte de:
  #3  
Viejo 03/12/14, 20:16:58
Array

[xs_avatar]
z3us z3us no está en línea
Usuario muy activo
 
Fecha de registro: ago 2010
Localización: Gijón / Madrid
Mensajes: 2,301
Modelo de smartphone: Note 3
Tu operador: Amena
Es que yo quiero tener cuatro decimales en el número de mi variable, no es para hacer cálculos, son coordenadas dd.dddd°
Me puedo apañar con tres, aunque pierdo algo de precisión, pero ya be surgió la duda de por qué eso es así

Última edición por z3us Día 03/12/14 a las 20:22:18.
Responder Con Cita
  #4  
Viejo 03/12/14, 22:55:47
Array

[xs_avatar]
Caravantes Caravantes no está en línea
Usuario muy activo
· Votos compra/venta: (1)
 
Fecha de registro: feb 2011
Mensajes: 2,200
Modelo de smartphone: Samsung Galaxy S9
Tu operador: Lowi
 Cita: Originalmente Escrito por z3us Ver Mensaje
no es para hacer cálculos, son coordenadas dd.dddd°
Supongo que lo que tienes a la izquierda del punto son grados, y lo que tienes a la derecha son 4 decimales de grado (décimas de grado, centésimas de grado, milésimas de grado, y diezmilésimas de grado). Por lo tanto no veo inconveniente alguno en aplicar la estrategia que te ha recomendado Iveumaos, a mí me parece la solución perfecta. Por ejemplo, si has visto que Tasker trabaja con 3 decimales y tú prefieres cuatro, puedes multiplicar primero por 10 y luego haces los cálculos.

[Editado: el siguiente párrafo es erróneo, está corregido en otro mensaje posterior]
Por otro lado, ¿sabes cuánta precisión estás perdiendo al despreciar el cuarto decimal? El tercer decimal (milésima de grado) equivale aproximadamente a un metro. El cuarto decimal equivale aprox a 10 centímetros. Me sorprendería que estuvieras manejando un problema real en el que la precisión de UN METRO no fura suficiente. Y supongo que la medición original (en grados) la obtienes del sistema GPS, que suele tener un margen de error muy superior a un metro. Por lo tanto, creo que no tiene mucho sentido que tus cálculos se esfuercen en conservar el cuarto decimal, que tiene una magnitud menor.
__________________
Firmado: Caravantes, miembro del equipo que promueve el Subforo de Tasker

Última edición por Caravantes Día 04/12/14 a las 03:33:40.
Responder Con Cita
  #5  
Viejo 04/12/14, 00:13:51
Array

[xs_avatar]
z3us z3us no está en línea
Usuario muy activo
 
Fecha de registro: ago 2010
Localización: Gijón / Madrid
Mensajes: 2,301
Modelo de smartphone: Note 3
Tu operador: Amena
No entiendo muy bien cómo hacer lo que decís. A ver, supongamos que tienes la variable %prueba , con el valor 12345 ¿Cómo haces para procesar esa variable para mostrar 1.2345 en una alerta Flash?
Sobre la precisión, según veo en el oruxmaps, el error máximo por redondeo del cuarto decimal (cinco diezmilesimas) equivale a cuarenta metros. Repito, no es algo que me importe para la tarea chorra que estoy creando, pero ya que me he encontrado con esto, sí me interesa saber cómo lidiar con ello para cuando realmente sí precise de ese cuarto decimal.
Gracias a ambos
Responder Con Cita
  #6  
Viejo 04/12/14, 03:26:11
Array

[xs_avatar]
Caravantes Caravantes no está en línea
Usuario muy activo
· Votos compra/venta: (1)
 
Fecha de registro: feb 2011
Mensajes: 2,200
Modelo de smartphone: Samsung Galaxy S9
Tu operador: Lowi
 Cita: Originalmente Escrito por z3us Ver Mensaje
No entiendo muy bien cómo hacer lo que decís. A ver, supongamos que tienes la variable %prueba , con el valor 12345 ¿Cómo haces para procesar esa variable para mostrar 1.2345 en una alerta Flash?
Bueno, de primeras se me ocurre un sistema, utilizando varias acciones y varias variables. Se trata de dividir la variable por 10000 (por ejemplo) para obtener la parte entera de esa división y despreciar (floor) los decimales resultantes de la división; se guarda esa parte entera en una variable. Luego se vuelve a coger la variable inicial para separarla en trozos, usando como separador la parte entera que hemos obtenido antes: el resultado será que ahora obtenemos los cuatro dígitos decimales y se guarda en otra variable. Luego se trata de mostrar (de un solo golpe) la parte entera, seguida de un punto y seguida de la parte decimal.

He probado la tarea siguiente, creo que funciona bien y saca tres flashes. El primer flash muestra la parte entera, el segundo flash muestra la parte decimal y el tercer flash muestra todo el conjunto: la parte entera, el punto y la parte decimal.

-Establecer variable %prueba a 12345
-Establecer variable %entero a floor(%prueba/10000)
-Flash %entero
-Separar variable %prueba separador %entero
-Flash %prueba2
-Flash %entero.%prueba2

El último Flash muestra "1.2345" como pedías.
He comprobado que también funciona con otros valores como 345678, resultando 34.5678 , etc.

 Cita: Originalmente Escrito por z3us Ver Mensaje
Sobre la precisión, según veo en el oruxmaps, el error máximo por redondeo del cuarto decimal (cinco diezmilesimas) equivale a cuarenta metros.
Tienes mucha razón, me equivoqué en mis cálculos iniciales, y por bastante (factor 100). Un círculo máximo (ecuador/meridiano) tiene 360 grados y equivale a unos 40.000 kilómetros. El resto son cálculos sencillos: un grado equivale a unos 111 kilómetros, etc. Según las cuentas que he hecho ahora, esas cinco diezmilésimas de grado equivalen a unos 55 metros, aproximadamente, y yo diría que a grosso modo coincide con esa referencia que tú tienes, los 40 metros.

Ahora empiezo a pensar lo contrario, que cuarenta o cincuenta metros son demasiada imprecisión. Pero claro, todo depende de lo que vayas a hacer con eso. Ya nos contarás con detalle en qué estás enredando. Pica la curiosidad.
__________________
Firmado: Caravantes, miembro del equipo que promueve el Subforo de Tasker

Última edición por Caravantes Día 04/12/14 a las 03:28:50.
Responder Con Cita
Respuesta

Estás aquí
Regresar   Portal | Indice > Todo sobre Android > Otro software para Android > Tasker



Hora actual: 20:56:22 (GMT +2)



User Alert System provided by Advanced User Tagging (Lite) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.

Contactar por correo / Contact by mail / 邮件联系 /