Re: how to get string in sci. notation to a number?
- To: mathgroup at smc.vnet.net
- Subject: [mg123290] Re: how to get string in sci. notation to a number?
- From: Bob Hanlon <hanlonr357 at gmail.com>
- Date: Wed, 30 Nov 2011 03:22:27 -0500 (EST)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- References: <201111291204.HAA05443@smc.vnet.net>
data = {{"4.998865e+000", "9.564453e-006"}, {"5.630450e+000",
"9.194384e-006"}, {"6.113276e+000", "8.134170e-006"}};
data2 = Map[ToExpression[StringSplit[#, "e"]] &,
data, {2}] /.
{m_?NumericQ, e_} -> m*10^e
{{4.99887, 9.56445*10^-6}, {5.63045, 9.19438*10^-6}, {6.11328, 8.13417*10^-6}}
data3 = data /.
x_String :> ToExpression[StringSplit[x, "e"]] /.
{m_?NumericQ, e_} ->
m*10^e
{{4.99887, 9.56445*10^-6}, {5.63045, 9.19438*10^-6}, {6.11328, 8.13417*10^-6}}
Although you should be able to automatically convert the data on import
data4 = Import[Export["test.txt", data, "Table"], "Table"]
{{4.99887, 9.56445*10^-6}, {5.63045, 9.19438*10^-6}, {6.11328, 8.13417*10^-6}}
data2 == data3 == data4
True
Bob Hanlon
On Tue, Nov 29, 2011 at 7:04 AM, 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.
> --
> Sent from my plain desktop PC.
>
- References:
- how to get string in sci. notation to a number?
- From: "1.156" <rob@piovere.com>
- how to get string in sci. notation to a number?