How to round a result to 1 decimal place.

107 views (last 30 days)
Amy Wong
Amy Wong on 6 Dec 2017
Edited: Adam on 6 Dec 2017
I have a data of 4096x64 and would like to round it to 1 decimal place. When I use DATA = round(DATA,1), the error 'Too many input arguments' appear. Is there any other way to do this?

Answers (1)

Adam
Adam on 6 Dec 2017
Which version of Matlab do you have?
round( data * 10 ) / 10;
is a fairly standard alternative.
  4 Comments
Amy Wong
Amy Wong on 6 Dec 2017
Edited: Amy Wong on 6 Dec 2017
Like if my value is 0.33333, I want to get 0.3. But the result is 0.3000. Is there a way to remove the 0 at the back?
Adam
Adam on 6 Dec 2017
Edited: Adam on 6 Dec 2017
Not every decimal number is precisely representable in a double (after all, there are an infinite number of floating point numbers and clearly there are not an infinite number of bit-representations to represent these).
Why do you need it to be precisely 0.3?
Note: round( 0.3333, 1 ) in later Matlab also gives an answer with a lot of trailing 0s that isn't 100% precise to 1dp.

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!