>> str = '0009.51998'
>> str2num(str)
or
>> sscanf(str,'%f')
ans = 9.5200
I want to get this instead:
ans = 9.51998
>> str = '0009.51998'
>> str2num(str)
or
>> sscanf(str,'%f')
ans = 9.5200
I want to get this instead:
ans = 9.51998
You are getting that. It's just being rounded off to four decimal places when it's displayed. Do format long to see more precision.
>> str = '0009.51998';
>> x = sscanf(str, '%f')
x =
9.5200
>> format long
>> x
x =
9.519980000000000
>>
You can also use str2double as an alternative to sscanf. It's safer and more flexible than str2num. That is because str2num uses the eval command. For example, try the following:
str2num(' figure();imshow(''peppers.png'')')
You might be surprised at the results.