2016-09-24 54 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

这一个更好。你有我的投票! –

相关问题