2012-11-03 14 views

Odpowiedz

9

Jeśli wszystko masz przylega znaków od 0 do 9:

v = double(s)-'0'; 

podwójnym (ów) konwertuje ciąg znaków do tablicy, gdzie każdy element jest kod ASCII odpowiedniego charakteru. Aby uzyskać wartości liczbowe, odejmujemy "0" (co w rzeczywistości jest 48 w ASCII), a ponieważ cyfry mają sekwencyjną reprezentację w kodzie ASCII ("1" = 49, "2" = 50 itd.), Kończymy z zamierzonym wynik.

+0

Podwójny w rzeczywistości nie wydaje się konieczny. s - wystarczyłoby "0". @pedrosorio – iab

5

w ten sposób można użyć regexp. Ale oczywiście działa tylko dla numerów jednocyfrowych.

>> str = '123456789'; 
>> num = regexp(str,'\d') 

num = 

1  2  3  4  5  6  7  8  9 
Powiązane problemy