Mathematica,将字符串转换为数字

use*_*615 2 wolfram-mathematica

我使用Import [".. file","table"]在mathematica中导入了一个表格,现在我无法使用表格中的数字,因为它们是字符串形式,有人可以解释我怎样才能将它们从字符串再次转换为数字?

Hig*_*ark 6

内在函数ToExpression将其参数转换为表达式;如果参数是数字的字符串表示,则函数将返回该数字。

  • 如果从不受信任的来源获取输入,此方法有可能执行任意代码。 (3认同)

age*_*ntp 6

另一种方法是使用Read.如果您使用科学记数法形式的"E"数字,这将非常有用:

    Read[StringToStream[#], Number] &/@{ "1" ,"1.5" , "1E-20" , "2.E10" }
Run Code Online (Sandbox Code Playgroud)

{1,1.5,1.5*10 ^ -20,2.*10 ^ 10}

注意ToExpression这些错误:

    ToExpression /@ {"1", "1.5", "1.5E-20", "2.E10"}
Run Code Online (Sandbox Code Playgroud)

{1,1.5,-15.9226,2.E10}

在最后一种情况下,"1.5E-20"被评估为1.5*2.71828-20,"E10"被视为新符号.

ToExpression 如果你可以使用它会更快..