Foro de elhacker.net

Programación => Java => Mensaje iniciado por: zafiron en 28 Abril 2010, 03:51 am



Título: perdida de presicion
Publicado por: zafiron en 28 Abril 2010, 03:51 am
hola estoy haciendo una pequeña calculadora pero esulta que cuando llego a sacar el coseno de un numero no me bota el resultado que debe ser por ejm System.out.println(Math.cos(90));  el coseno de 90 es 0  pero el resultado que me bota es este -0.4480736161291702

habert si alguien puede ayudarme a arreglar la presicion o es que el paquete math esta mal ¿


Título: Re: perdida de presicion
Publicado por: Leyer en 28 Abril 2010, 05:00 am
o es que el paquete math esta mal ¿

 :xD tienes que entender como funciona para usarlo

Aver

Código
  1. System.out.printf("%f\n",Math.cos(Math.toRadians(90)));

PD[0]="Creo que el titulo de este post esta por la nubes de lo que planteas xd";



Título: Re: perdida de presicion
Publicado por: Debci en 28 Abril 2010, 16:54 pm
La cosa esta, no se si es lo que pides, en que java te da solamente los decimales significativos.
Si quieres sacar mas decimales, usa BigDecimal y realiza las operaciones para sacar alguna de las funciones trigonometricas:

Código:
BigDecimal numeroGrande = new BigDecimal("tunumeroaqui");

Saludos


Título: Re: perdida de presicion
Publicado por: sapito169 en 28 Abril 2010, 17:16 pm
tienes razon la clase Double esta muy mal echa mejor dicho pesimamente echa si hay error de presicion

olvidate de la clase Double no sirve estas obligado a usar bigdecimal usando el numero introduciendo el numero como cadena como explica el forero

otra opcion es usar la clase decimal format para que puedas contralar cuan precisa es la respuesta y como qieres mostrarla



Título: Re: perdida de presicion
Publicado por: jezu00 en 29 Abril 2010, 13:51 pm
el cos de 90 radianes es −0,448073616
el cos de Pi/2 radianes es 0

La clase math usara radianes en vez de grado

2Pi<-->360 º


tal y como te han respondido antes