MATLAB Answers

How to comparison decimal numbers

118 views (last 30 days)
Thar
Thar on 1 Dec 2015
Commented: Walter Roberson on 2 Dec 2015
Hi all!
I have two matrices. They have one column. First matrix is:
7.551119
7.551154
7.551189
7.551224
Second matrix is:
7.551111
7.551146
7.551181
7.551215
I want to comparison two columns but only 5 decimal places. I don't like round my numbers like:
7.55112
7.55115
and so on, if I use the function round.
  2 Comments
Thar
Thar on 2 Dec 2015
I want to keep the 5 decimal points, but not rounded the numbers. for example for the number 7.551187 i want to keep only the 7.55118 and not round to 7.55119.

Sign in to comment.

Accepted Answer

arich82
arich82 on 2 Dec 2015
You can truncate (without rounding) using floor (or fix, if your numbers can be negative):
x = [ ...
7.551119; ...
7.551154; ...
7.551189; ...
7.551224; ...
];
y = fix(x*1e5)/1e5;
output:
y =
7.551110000000000
7.551150000000000
7.551180000000000
7.551220000000000

More Answers (2)


Thorsten
Thorsten on 2 Dec 2015
Edited: Thorsten on 2 Dec 2015
You can round to 5 decimal places using
xr = round(x*1e5)/1e5;
You may want to set
format long
such that the result is properly displayed.
  5 Comments
Walter Roberson
Walter Roberson on 2 Dec 2015
To check, Thodoris, you are okay with 7.551111 comparing equal to 7.551119, but 7.551119 should not compare equal to 7.551121 even though that is closer to it than 7.551111 is?

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by