MathGroup Archive 2010

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

Search the Archive

Re: String-to-Number Conversion Precision

  • To: mathgroup at smc.vnet.net
  • Subject: [mg112369] Re: String-to-Number Conversion Precision
  • From: Arnoud Buzing <arnoudb at wolfram.com>
  • Date: Sat, 11 Sep 2010 05:44:10 -0400 (EDT)

ToString can take a second argument which specifies how to format an 
expression:

Grid[
  Map[
   {#, FullForm[ToString[N[Pi], #]]} &,
   {CForm, FortranForm, InputForm, MathMLForm, OutputForm, StandardForm, 
TeXForm,TraditionalForm}],
  Alignment -> Left]



In your specific case, this may suit your needs:

In[]:=
string = "1.867524468";
string === ToString[ToExpression[string, InputForm], InputForm]

Out[]=
True


Like ToString, ToExpression also takes a second argument which helps to 
interpret a string and make an expression out of it.





On 9/10/10 3:50 AM, Ben wrote:
> I'm reading real numbers from a file and I'm trying to convert them
> from string format (with arbitrary precision) to real values with the
> same precision as given in the strings.
>
> For example, when I convert "1.867524468", I want the result to be set
> to precision 10.  Instead, I get the following.
>
> In[1]:=    string = "1.867524468"
> Out[1]:= "1.867524468"
>
> In[2]:=    x = ToExpression[string]
> Out[2]:= 1.86752
>
> The last 4-digits get cut off.  This is fine for when I do math with
> the number because the extra digits are still stored, but not when I
> want to rewrite the number to a different file.  When I convert the
> number back to a string for file output, the last 4-digits remain
> lost.
>
> In[3]:=    ToString[x]
> Out[3]:= "1.86752"
>
> Is there a function or formula I can use to automatically set the
> precision of these numbers to their precision in the string?  Thanks.
>


  • Prev by Date: Re: Manipulating square roots
  • Next by Date: Re: drawing polygon diagonals
  • Previous by thread: Re: String-to-Number Conversion Precision
  • Next by thread: Re: String-to-Number Conversion Precision