question concerning rounding of numbers

Hi
I am having trouble rounding a number to a fixed number of digits. Can anyone explain the problem I am encountering? (As shown in this figure)

 Respuesta aceptada

James Tursa
James Tursa el 26 de Mzo. de 2015

2 votos

1 comentario

John D'Errico
John D'Errico el 26 de Mzo. de 2015
As has been said, no matter how hard you try, you cannot represent 30.7 exactly as a double precision number. That is a binary representation, and your number is not exactly representable.
In fact, this is true of almost all the numbers you will write in decimal form. The exceptions are integers of a reasonable size, and those numbers that can be written as sums of limited negative powers of 2. So 0.5, and 0.375 will be exactly represented.

Iniciar sesión para comentar.

Más respuestas (2)

Luuk van Oosten
Luuk van Oosten el 26 de Mzo. de 2015

1 voto

Yes, I believe your problem is described here
Jakob Sievers
Jakob Sievers el 27 de Mzo. de 2015

0 votos

Thanks for all of your comments. They helped me greatly!

Categorías

Etiquetas

Preguntada:

el 26 de Mzo. de 2015

Respondida:

el 27 de Mzo. de 2015

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by