Re: String-to-Number Conversion Precision

• To: mathgroup at smc.vnet.net
• Subject: [mg112359] Re: String-to-Number Conversion Precision
• From: Peter Breitfeld <phbrf at t-online.de>
• Date: Fri, 10 Sep 2010 06:13:34 -0400 (EDT)
• References: <i6crfo\$sa1\$1@smc.vnet.net>

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

Mathematica treats numbers with less then \$MachinePrecision digits
always as having MachinePrecision. It _displays_ them with 6 digits
after the decimal point, but knows all the digits. You can display them
using NumberForm or better (in this case) using InputForm. So

In[3]:= ToString[InputForm[x]]

will give you all the original digits.

To set the precision for longer numbers according to the length of the
input string you may use something like this:

string = "1.867524468121212771299123312";
x = ToExpression[string]
SetPrecision[x, StringLength[string] - 1]
{Precision[x], Accuracy[x]}
InputForm[x]

--
_________________________________________________________________
Peter Breitfeld, Bad Saulgau, Germany -- http://www.pBreitfeld.de

```

• Prev by Date: Re: an issue of consistency
• Next by Date: Re: Finding an exponent?
• Previous by thread: Re: String-to-Number Conversion Precision
• Next by thread: Re: String-to-Number Conversion Precision