Re: how to get string in sci. notation to a number?
- To: mathgroup at smc.vnet.net
- Subject: [mg123267] Re: how to get string in sci. notation to a number?
- From: "Oleksandr Rasputinov" <oleksandr_rasputinov at hmamail.com>
- Date: Tue, 29 Nov 2011 07:55:30 -0500 (EST)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- References: <jb2hum$5e0$1@smc.vnet.net>
On Tue, 29 Nov 2011 12:07:50 -0000, 1.156 <rob at piovere.com> wrote: > I've been able to get a text file with data into a list of strings > of the following form: > > {{"4.998865e+000", "9.564453e-006"}, > {"5.630450e+000", "9.194384e-006"}, > {"6.113276e+000", "8.134170e-006"}} > > After many hours I've really gotten nowhere except that it's most > likely done with ToExpression which works fine with simple decimal > numbers in string form. Must I really split up the strings, suck out the > exponents, and then multiply them out to be able to use these numbers in > a ListPlot? > Any hints would be appreciated. In place of "e", Mathematica uses "*^". When reading output from a Python program into Mathematica for analysis, I have used StringReplace to convert to valid Mathematica syntax followed by ToExpression; this can be faster and more convenient than Import in certain cases. However, if you are happy with your current approach and just want to finish the job, you can use e.g.: lst = { {"4.998865e+000", "9.564453e-006"}, {"5.630450e+000", "9.194384e-006"}, {"6.113276e+000", "8.134170e-006"} } Map[Sequence@@ImportString[#, "List", "Numeric" -> True] &, lst, {2}] {{4.99887, 9.56445*10^-6}, {5.63045, 9.19438*10^-6}, {6.11328, 8.13417*10^-6}}