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)

 Akzeptierte Antwort

James Tursa
James Tursa am 26 Mär. 2015

2 Stimmen

1 Kommentar

John D'Errico
John D'Errico am 26 Mär. 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.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (2)

Luuk van Oosten
Luuk van Oosten am 26 Mär. 2015

1 Stimme

Yes, I believe your problem is described here
Jakob Sievers
Jakob Sievers am 27 Mär. 2015

0 Stimmen

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

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by