2012-01-12 40 views
0
>> str = '0009.51998' 
>> str2num(str) 

将字符串与特定的格式NUM在Matlab

>> sscanf(str,'%f') 

ans = 9.5200 

我想这个:

ans = 9.51998 
+0

如果你已经有一个字符串,你为什么起诉num2str? (我意识到这不会改变你的问题/回答它) – 2012-01-12 17:56:25

回答

3

您获得的。显示时只是四舍五入到小数点后四位。做format long看到更多的精度。

>> str = '0009.51998'; 
>> x = sscanf(str, '%f') 
x = 
    9.5200 
>> format long 
>> x 
x = 
    9.519980000000000 
>> 

您还可以使用str2double作为替代sscanf。它比str2num更安全,更灵活。这是因为str2num使用eval命令。例如,请尝试以下操作:

str2num(' figure();imshow(''peppers.png'')') 

您可能会对结果感到惊讶。

+0

+ 1的辣椒人物。 – 2012-01-13 04:24:14

相关问题