Data = table( round(f,2), round(u,2))
However, you need to distinguish between what is stored and how it is displayed. MATLAB uses IEEE 754 Double Precision for values like 0.38878 and those are represented by 53 bits of precision in binary. It is not possible to exactly represent 1/10 in binary, so even though you might have rounded to 0.39, the number that will be stored will not be 39/100 and will instead be 0.39000000000000001332267629550187848508358001708984375 which is 3512807709348987/9007199254740992 . You cannot get it to store 39/100 exactly in numeric form except by going symbolic
When you have numeric values stored in a table then what is output for disp() or giving the variable name depends on what your current format is set to. From your description you probably have it set to the default, format short e . If you were to command
and display the table you would see more decimal places, due to the difference between what the display formatting is and what is stored. If you command
then that just might work for you, provided that you do not mind if those 4e-07 show up as 0. format bank is two digits exactly after the decimal place.
For any custom display, you need to extract the values and format them yourself.