MathGroup Archive 2011

[Date Index] [Thread Index] [Author Index]

Search the Archive

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.
>



  • Prev by Date: Re: import data problem
  • Next by Date: Re: FindShortestTour Function- Error
  • Previous by thread: how to get string in sci. notation to a number?
  • Next by thread: Re: how to get string in sci. notation to a number?