The data precision in readtable function

I am using readtable to read in a Excel sheet into a table object. The numbers in the spreadsheet are of 12 decimal digits, but after readtable, the numbers become 5 digits only. Why? And how to make the digits longer?
Thanks,
Jennifer

Answers (1)

Kirby Fears
Kirby Fears on 26 Oct 2015
Edited: Kirby Fears on 26 Oct 2015
Hi Jennifer,
The data is being displayed with 5 significant digits in your Matlab workspace. However, the data is most likely stored with 12 significant digits.
Try displaying in the "long" format, then print out or inspect your data again.
format long
Note that this does not change the way data is stored in Matlab, but instead changes how it is displayed to you.
Hope this helps.

3 Comments

I typed format long and then I did a readtable again. But the display is still 5 digits. >> format long >> Test1 = readtable('xxx.xlsm', 'sheet', 'Sheet1');
Jennifer, what Kirby described is how things should behave. So if it's not, you're going to have to attach a short example of a file where this happens, and perhaps even a screen shot, to demonstrate what you're seeing.
You don't need to read the table again. Just input the following code with Test1 in your workspace.
format long;
Test1
This will display Test1 in long format in your Command Window.
You can also go into the variable viewer, open up Test1, then double-click on a specific number. Your cursor will be in "edit" mode inside the cell, and it will show full precision digits.

Sign in to comment.

Products

Tags

Asked:

JFz
on 26 Oct 2015

Edited:

on 27 Oct 2015

Community Treasure Hunt

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

Start Hunting!