Duda Java (cambiar formato de un valor recibido)

squ4r3

Buenas, no se si el título del post explica muy bien el problema que tengo, pero intentaré ser lo más claro posible

tengo una aplicación Java utilizando un API determinada para construir robots. Uno de los motores del robot detecta cuando éste rota y te devuelve la rotación en grados.

El problema es que si lo roto hacia un lado pasa de 360 (1000...2000) y claro, yo necesito que me transforme el valor en algo que esté comprendido entre -360 a 360. Me han dicho que lo haga cogiendo el módulo del valor recibido pero se me vuelve un poco loco, no se si lo estoy haciendo bien. Si os ayuda pongo el código, pero vamos es muy sencillo

coger el valor de rotación (dado en grados) e imprimirlo por la pantalla.

un saludo y muchas gracias de antemano

Lecherito

#1 Si te he entendido bien... quieres que un numero no pase de 0 y 360, pues simplemente NUMERO%360, y te devuelve el resto de la division entre 360, por lo tanto estará comprendido entre eso, 0 y 360, el negativo no te hace falta, ya que es lo mismo 0 que -360 por ejemplo.

No sé que loco se te puede volver con eso, para otra cosa, el codigo.

2 respuestas
squ4r3

#2 es lo primero que probé, con el módulo y que me de el resto, pero al pasar de 360 empieza a poner numeros random sin sentido. Voy a echarle un ojo y ahora edito.

gracias

KoRMuZ

Otra cosa que puedes hacer es directamente dividir entre 360 y te dará 3.0234 (3 vueltas y 0.0234 vueltas). Pasas los decimales a grados (1vuelta-360grados -->> 0.0234vueltas-x grados) y ya tienes lo que necesitas.

Supongo que también lo habrás probado ya, pero por si acaso

squ4r3

vale, lo del módulo (lo que decía #2) lo tenía bien puesto, y funcionaba bien, el problema es que no he conseguido que refresque bien la pantalla, por eso me parecía que se "volvía loco", porque al pasar de 360 a 1 los dos caracteres siguientes no los limpia y aparece como 160 (cuando en realidad es 1). Rookie mistake, que a ver como soluciono.

gracias por las rápidas respuestas!

edit: ya lo tengo funcionando perfecto :D

Usuarios habituales

  • squ4r3
  • KoRMuZ
  • Lecherito