MathGroup Archive 2011

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

Search the Archive

Re: Rounding to a certain number of decimal places

  • To: mathgroup at smc.vnet.net
  • Subject: [mg119281] Re: Rounding to a certain number of decimal places
  • From: Ray Koopman <koopman at sfu.ca>
  • Date: Sat, 28 May 2011 07:20:55 -0400 (EDT)
  • References: <irnthn$sq0$1@smc.vnet.net>

On May 27, 3:14 am, Andrew DeYoung <adeyo... at andrew.cmu.edu> wrote:
> Hi,
>
> I would like to be able to round a number to a certain, specified
> number of decimal places (not number of digits), including zeros.
> Suppose that some function f does this, and takes two arguments, the
> number to be rounded and the number of decimal places to which to
> round:  f[number, numPlaces].  Then, for example, I would like the
> following results, if possible:
>
> f[0.8168, 3] = 0.817
> f[1.8168, 3] = 1.817
> f[10.8168, 3] = 10.817
> f[100.8168, 3] = 100.817
> f[0.99, 3] = 0.990
> f[0.9, 3] = 0.900
> f[0.00572, 3] = 0.006
>
> Is there a function f (either built-in or a custom function) that can
> do this?  Mathmatica's built-in function NumberForm does not quite do
> this because the user specifies the number of digits, not the number
> of decimal places.  Also, NumberForm does not count zeros after the
> decimal point as digits, nor does it add extra zeros as needed if they
> are redundant.
>
> Am I getting into deep water here, or is there something
> straightforward that can do what I would like?
>
> I am running Mathmatica 7.  Also, I do not need to be able to do
> further computations on the output; I will be converting the output to
> a string, anyway.
>
> Thank you very much for your time.
>
> Andrew DeYoung
> Carnegie Mellon University

f[x_,n_] := PaddedForm[x,{n+1+Floor@Log[10,Max[1,Abs@x]],n}]


  • Prev by Date: Using a Mathematica Program to write a Mathematica Program
  • Next by Date: Re: Rounding to a certain number of decimal places
  • Previous by thread: Re: Rounding to a certain number of decimal places
  • Next by thread: Re: Rounding to a certain number of decimal places