MATLAB: Does XLSREAD read wrong values for certain negative numbers

MATLABnegativenumbersvalueswrongxlsread

Why does XLSREAD read wrong values for certain negative numbers?
For example, consider an Excel file that has the following values:
-112.40
-23071.36
-23072.36
-23088.3
-23130.67
-23131.42
-23153.65
Using XLSREAD on the above XLS file, say test.xls yields the following results:
a = xlsread(['test.xls'])
a =
1.0e+007 *
-0.00001124000000
-0.00230713600000
1.07143458800000
1.07143299400000
1.07142875700000
1.07142868200000
1.07142645900000

Best Answer

This was a bug in MATLAB 6.0 (R12)which has been fixed in MATLAB 6.1 (R12.1).
There are no known workarounds for MATLAB 6.0 (R12)