首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Matlab中将字符串数据转换为整型变量?

如何在Matlab中将字符串数据转换为整型变量?
EN

Stack Overflow用户
提问于 2012-04-25 03:02:36
回答 3查看 14.8K关注 0票数 0

我有一个textdata {}总行数为540万,其中包含3-4位整数。我希望在MATLAB上将它们转换为int。

我试过使用x = str2num(total_data(1:end,:)),但它不起作用。

EN

回答 3

Stack Overflow用户

发布于 2012-04-25 06:33:24

要返回整数,必须在字符串中添加前缀和后缀...

代码语言:javascript
复制
>> c = '1234567'

c =

1234567

>> class(c)

ans =

char

>> result = str2num(c)

result =

 1234567

>> class(result)

ans =

double

>> result = str2num(['int32(' c ')'])

result =

 1234567

>> class(result)

ans =

int32
票数 1
EN

Stack Overflow用户

发布于 2012-04-25 03:16:55

代码语言:javascript
复制
b = cellfun(@(x)str2double(x), total_data);
票数 0
EN

Stack Overflow用户

发布于 2012-04-25 14:33:16

我会这样做:

代码语言:javascript
复制
%Test data
N = 1e4;
textdata = cell(N,1);
for ix = 1:N
    textdata{ix} = num2str(ix);
end

%Convert to integers
dataAsInts = zeros(size(textdata),'int32');
for ix = 1:N
   dataAsInts(ix) = int32(sscanf(textdata{ix},'%d'));
end
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10304374

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档