我遇到了一个问题,就是一个8位数的字符串,比如'313397E9',在传入Excel后,会被读做数字'313397000000000'或'3.133970e+014'。
然后,这个数字会被Matlab读取并识别为数字,而不是字符串。那么,将其转换回8位数的字符串最容易的方法是什么呢?
非常感谢您的帮助!
然后,这个数字会被Matlab读取并识别为数字,而不是字符串。那么,将其转换回8位数的字符串最容易的方法是什么呢?
非常感谢您的帮助!
%# convert the number to a string
nn = num2str(3.133970e+014)
nn =
313397000000000
%# replace zeros using regexprep
regexprep(nn,'([0]*)','E${num2str(length($1))}')
ans =
313397E9
顺便提一下,如果nn
是一个字符串的单元数组,也可以使用此方法,这样你就可以一次性将数字列表转换为字符串。
'1234
- David Heffernan