5

我有一个问题,将 8 位字符串(例如“313397E9”)传递到 excel 中,然后读取为数字“313397000000000”或“3.133970e+014”。

然后由 Matlab 读取并识别为数字,而不是字符串。将其转换回 8 位字符串的最简单方法是什么?

提前感谢您的所有帮助。

4

1 回答 1

5

正则表达式来拯救!您可以使用REGEXPREP将尾随零转换为 Ex,其中 x 是您刚刚替换的零的数量。

%# 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是字符串的单元格数组,这也适用,顺便说一句,因此您可以一次转换您的数字列表。

于 2011-06-09T14:15:17.087 回答