Asked by Raviteja
on 7 Apr 2011

If A I have like this

>> A=[0.0001 -0.0012 1.0005 0.0040 1.4125] A =

0.0001 -0.0012 1.0005 0.0040 1.4125

I want to have A values like this

0.00 0.00 1.00 0.00 1.41

How to do in MATLAB ?

*No products are associated with this question.*

Answer by Matt Fig
on 7 Apr 2011

Accepted answer

Ar = round(A*100)/100 .

.

.

**EDIT**

Raviteja, the above command does store your values as you want. The problem is not with the values, but with how the values are displayed in MATLAB. You cannot make MATLAB display the values in just any way you want. The closest you can get is:

format bank Ar = round(A*100)/100 Ab = abs(A) %This looks like what you want, but the full value is there.

Answer by Oleg Komarov
on 7 Apr 2011

Matt's solution is working. Your question isn't specific enough. You want to display, and not to truncate.

A=[0.0001 -0.0012 1.0005 0.0040 1.4125]

sprintf('%4.2f ',A)

Oleg

Walter Roberson
on 7 Apr 2011

Answer by Walter Roberson
on 7 Apr 2011

What you would like to do cannot be done in any finite binary number representation system. 1/10 is an infinitely repeating number in binary, just the same way that 1/7 is an infinitely repeating number in decimal.

You *can* represent A to two decimal places as character strings for display purposes, but you will not be able to truncate to two decimal places numerically in binary.

>> sprintf('%.53g', 1.41) ans = 1.4099999999999999200639422269887290894985198974609375

Opportunities for recent engineering grads.

## 0 Comments