Título: Duda con números reales Publicado por: pelaitass en 16 Abril 2018, 00:01 am Hola.
Por qué esto: Código: System.out.println(1F/12); Da: 0.083333336 Este último 6 de dónde sale Gracias anticipadas Título: Re: Duda con números reales Publicado por: ivancea96 en 17 Abril 2018, 20:53 pm Eso es un número en coma flotante, que es, sin ir más lejos, un formato para describir números reales.
Este formato utiliza binario, que es luego transformado a decimal. El problema es que, por decirlo de alguna manera, hay números en decimal que son números irracionales en binario, y viceversa. Con lo cual, al tratar de mostrarlo como decimal, eso es lo más aproximado que tienes (teniendo en cuenta que esa variable tenga 4 bytes si es un float) En resumen, la coma flotantae (float, double), no dan verdadera precisión. Lo más que vas a obtener son aproximaciones. Por eso, cuando los muestres, deberías reducir a, por ejemplo, 2-4 decimales, para que no salgan cifras extrañas. Rara vez necesitarás más decimales precisos. Y si los necesitases, sería hora de utilizar alguna clase que maneje números reales con precisión. |