2016-09-24 60 views
0

我需要做的是設置一個整數等於它的char值。如何使整數等於一個字面值?

例如,如果char爲1,我希望int爲1,而不是49!

最大的問題是我需要做一個向量。所以,我有焦矢量

[ 0 0 0 ] 

,我希望它成爲一個INT矢量

[ 0 0 0 ] 

問題我已經是,str2num刪除0 ...

有我確切的問題,我從一個矩陣挑一條線,將其設置爲一個向量:

virginMatrix(i,:) = prematrix([positionToPick : (positionToPick + P - 1)]); 
+0

你能告訴我們一個'str2num'去掉'0'的實例嗎?我無法複製那 – Suever

+0

@Suever讓我爲你的時間感謝你。 Sardar_Usama剛剛發佈了一個解決所有問題的答案! – Cher

+0

@Cher查看我的回答如下 – Suever

回答

1

如果我正確理解你的問題,這款C

string = [ '0' '0' '0' ]; 
required = str2num(strjoin(num2cell(string))) 
+0

您先生我的感謝!我沒有辦法找到這個! – Cher

4

如果您只是想從字符串爲數字每個數字,那麼就減去每個元素串'0':一個使用num2cellstrjoinstr2num做如下。這將從字符串中的每個字符和表示數字的數字數組中減去ASCII碼'0'

string = '000' 

out = string - '0'; 

% 0 0 0 

這是額外的好處,因爲它只是一個直接的減法,因此是最高性能的解決方案。

+2

高性能,是的;但'字符串 - 48'將是高爾夫球手。 ;) – beaker

+1

這一個是最好的,我猜:) –

2

這裏是另一種方式,你可以這樣做:

由於str2num符連接字符串的行,您可以通過轉串,轉換爲數字,並調換回行把每個數字變成單行矢量:

required = str2num(string.').'; 

required = 

    0 0 0 
+0

這一個更好。你有我的投票! –

相關問題