在Matlab中使用特定格式将字符串转换为num

时间:2012-01-12 17:51:13

标签: string matlab formatting numeric

>> str = '0009.51998'
>> str2num(str)

>> sscanf(str,'%f')

ans = 9.5200

我想改为:

ans = 9.51998

1 个答案:

答案 0 :(得分: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'')')

你可能对结果感到惊讶。