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

또는변환 문자열은 내가 대신을 얻고 싶은 matlab에

>> sscanf(str,'%f') 

ans = 9.5200 

의 특정 형식 NUM합니다 : 당신은을 받고

ans = 9.51998 
+0

이미 문자열이있는 경우 num2str을 고소하는 이유는 무엇입니까? (나는 이것이 당신의 질문을 바꾸지 않는다는 것을 깨닫는다/대답해라.) –

답변

3

. 표시 될 때 소수점 네 자리까지 반올림됩니다. 더 많은 정밀도를 보시려면 format long을 (를) 수행하십시오.

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

또한 sscanf의 대안으로 str2double를 사용할 수 있습니다. str2num보다 안전하고 유연합니다. str2numeval 명령을 사용하기 때문입니다. 예를 들어 다음을 시도하십시오.

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

결과에 놀랄 것입니다.

+0

+1 고추 그림을 위해. –