Why does str2num truncate my number so early?

3 views (last 30 days)
When I try to convert from string to number, I lose precision?
whos test_str
Name Size Bytes Class Attributes
test_str 1x9 18 char
K>> test_str
test_str =
0.067354
K>> str2num(test_str)
ans =
0.0674

Accepted Answer

José-Luis
José-Luis on 23 Jun 2014
format long
str2num(test_str)
  2 Comments
Andrew Reibold
Andrew Reibold on 23 Jun 2014
Thank you Jose-Luis
This worked great. I presume that this changes the format for any future things I type as well?
Does anyone know what is the 'default' format if it is not long?
José-Luis
José-Luis on 23 Jun 2014
You could read the documentation:
doc format
Note that this only changes how the number is displayed. Its internal representation is, by default in Matlab, a double.

Sign in to comment.

More Answers (1)

Sara
Sara on 23 Jun 2014
Use
sprintf
so you can control the precision you want.
  3 Comments
Sara
Sara on 23 Jun 2014
I read it the other way around, sorry.
Jairo Andrés Gutiérrez Suárez
Yep but that method is not efficient. There should be a way to use the exact number of decimals. What if I am using srt2num to find a folder with the same number I looked for?

Sign in to comment.

Categories

Find more on Data Type Conversion in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!