MathGroup Archive 2001

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

Search the Archive

Re: Letting integers be integers (when using //N)

  • To: mathgroup at smc.vnet.net
  • Subject: [mg27668] Re: Letting integers be integers (when using //N)
  • From: Tom Burton <tburton at cts.com>
  • Date: Sat, 10 Mar 2001 00:50:01 -0500 (EST)
  • Organization: Brahea Consulting
  • References: <98a14b$cl3@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

Hello,

On 9 Mar 2001 02:35:39 -0500, in comp.soft-sys.math.mathematica you wrote:

> But if I write the 
>second list as
>
>                {Round[a], b, c, . . . .}//N
>
>the  a  value still comes out with a decimal point.  Any simple way to 
>get rid of the decimal point on that one value, other than putting //N 
>on each item of the list individually except for  a ?

There must be several ways to do this. Here is one way. First, add to HoldForm the attribute "NHoldFirst" (or "NHoldAll") to keep N from getting inside HoldForm:
In[18]:=
Unprotect[HoldForm];
SetAttributes[HoldForm,NHoldFirst];
Protect[HoldForm];

Then do something like this:

In[21]:=
N[Replace[
  {Sqrt[2], 1, Pi, 1.5}, 
  i_Integer :> HoldForm[i], 
  {1}]
 ]
Out[21]=
{1.41421, 1, 3.14159, 1.5}

Expect more elegant ways from others;)

Tom


  • Prev by Date: Re: Simple integration that Mathematica can't do?
  • Next by Date: Re: Simple integration that Mathematica can't do?
  • Previous by thread: Re: Letting integers be integers (when using //N)
  • Next by thread: Re: Letting integers be integers (when using //N)