Ответ Даворака является правильным, если вам нужно импортировать весь CSV-файл в виде массива. Однако, если у вас есть единственная строка, которую нужно преобразовать из экспоненциальной нотации в стиле C / Fortran, вы можете использовать ImportString
с другими аргументами для формата. Например, есть
In[1]:= ImportString["1.0e6", "List"]
Out[1]= {1.*^6}
Оператор *^
является эквивалентом Mathematica e
. Обратите внимание, что это также хороший способ разделения строк в форме CSV:
In[2]:= ImportString["1.0e6,3.2,foo", "CSV"]
Out[2]= {{1.*10^6,3.2,foo}}
В обоих случаях вы получите свой ответ в виде дополнительного уровня структуры списка, с которым довольно легко справиться. Однако, если вы действительно уверены, что имеете или хотите использовать только одно число, вы можете превратить строку в поток и использовать Read
. Это достаточно громоздко, чтобы я придерживался ImportString
, однако:
In[3]:= Module[{stream = StringToStream["1.0e6"], number},
number = Read[stream, "Number"];
Close[stream];
number]
Out[3]= 1.*10^6