Foros del Web » Programación para mayores de 30 ;) » Java »

Novatada?

Estas en el tema de Novatada? en el foro de Java en Foros del Web. Hola! estoy haciendo un programa para hacer conversiones entre varias temperaturas y tengo un problema cuando intento convertir de F a C una simple operación ...
  #1 (permalink)  
Antiguo 31/10/2010, 14:53
 
Fecha de Ingreso: diciembre-2009
Ubicación: Linz
Mensajes: 48
Antigüedad: 14 años, 11 meses
Puntos: 1
Novatada?

Hola!

estoy haciendo un programa para hacer conversiones entre varias temperaturas y tengo un problema cuando intento convertir de F a C una simple operación matemática me está rompiendo la cabeza:


Código Javascript:
Ver original
  1. float temp;
  2. temp=((temp-32)*(5/9));
  3. System.out.printf("Celsius: %.2f°C",temp);

Si introduzco 0 como valor a convertir, me da como resultado
Código:
Celsius: -0,00°C
A ver si alguien me da una manito con esto, que seguro que es una tontería, pero no logro encontrar la solución :(
Gracias y saludos!
  #2 (permalink)  
Antiguo 31/10/2010, 15:42
 
Fecha de Ingreso: diciembre-2009
Ubicación: Linz
Mensajes: 48
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: Novatada?

buah, encontré la solución:

Le quité el paréntesis del (5/9) y me quedó así:

Código Javascript:
Ver original
  1. temp=((temp-32)*5/9);

Ahora ya funciona ^_^
Quería borrar este post, pero no veo el botón de eliminar?
Pos nada, muchas gracias de todas maneras.
Saludos!!
  #3 (permalink)  
Antiguo 01/11/2010, 06:18
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 21 años, 1 mes
Puntos: 51
Respuesta: Novatada?

El problema que tienes es por la precision en el resultado, o mejor dicho imprecisión, debido a las limitaciones de usar tipos primitivos. Si quieres tener buena precisión, utiliza la clase BigDecimal en vez de float.

S!
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:52.