Después de mucho trabajar ya encontramos el arreglo de este enigma que tantos usuarios de nuestro espacio han presentado. Si deseas compartir algo más no dudes en dejar tu conocimiento.
Similar al método de Rolf:
string = "f[38.67]=-2.5387862698183892298317350539374412777263289550697e-05;";
StringReplace[string, "e+" :> "*^", "e-" :> "*^-"];
[email protected]%;
?? f
Global`f f[38.67] = -0.000025387862698183892298317350539374412777263289550697
Dependiendo de sus datos, es posible que desee un patrón más específico, por ejemplo:
StringReplace[string,
a : NumberString ~~ "e" ~~ b : NumberString :> a <> "*^" <> b]
Import
normalmente convierte automáticamente el formato e a potencias de. Puedes usar ImportString
con el "Table"
o "List"
escribe:
ImportString["-2.5387862698183892298317350539374412777263289550697e-05", "Table"]
-0.000025387862698183892298317350539374412777263289550697
o
ImportString["1.002e-26", "Table"]
1.002*10^-26
Para aquellos que deseen transformar un archivo de datos completo con números en notación científica que se genera desde Fortran (o C, et al.) como "1.6E-19"
y "3.0E+08"
y tal, es increíblemente más rápido hacer cambios en Unix sed
editor de línea de comandos que hacer una búsqueda y reemplazar en el archivo .m dentro de Mathematica o cualquier procesador de textos. En el aviso de Unix $
uno tipos
$ cat FilewE.m | sed 's/E-/*^-/g' | sed 's/E+/*^+/g' > FilewoE.m
Para los nuevos en Unix, el cat
comando “concatena” un solo archivo (llamado FilewE.m
en este ejemplo), que normalmente fluiría el contenido a la pantalla del terminal. En cambio, el flujo se canaliza |
en sed
y, para evitar matar a cualquier E
s que aparecen en palabras, E-
se reemplaza con *^-
globalmente g
. La salida de eso se canaliza a sed
nuevamente para atrapar los exponentes positivos y la salida de eso se dirige >
al archivo de salida llamado FilewoE.m
en este ejemplo.
valoraciones y reseñas
Nos puedes ayudar nuestro ensayo exponiendo un comentario y dejando una valoración te damos la bienvenida.