Re: strip zeros from fractional part

From: Sven Willenberger <sven(at)dmv(dot)com>
To: "Giovanni M(dot)" <drayah(at)gmail(dot)com>
Cc: Tony Wasson <ajwasson(at)gmail(dot)com>, pgsql-general(at)postgresql(dot)org
Subject: Re: strip zeros from fractional part
Date: 2005-10-04 16:22:52
Message-ID: 1128442973.11307.38.camel@lanshark.dmv.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Mon, 2005-10-03 at 16:36 -0300, Giovanni M. wrote:
> Yes! That did it, thanks for the help
>
> On 10/3/05, Tony Wasson <ajwasson(at)gmail(dot)com> wrote:
> > On 10/3/05, Giovanni M. <drayah(at)gmail(dot)com> wrote:
> > > Round and trunc dont provide the functionality I need.
> > >
> > > Say for example I have two values in a column of type numeric as follows:
> > > 23.455
> > > 12.300
> > >
> > > What I need to happen is stripping the "useless" zeros in the
> > > fractional part of numbers so 12.300 would become 12.3 and 23.455
> > > would stay the same
> > >
> > > Round and trunc can´t do this without me first checking if the number
> > > can indeed be "rounded" to a number without losing its precise value
> >
> > As a workaround, you could try using the trim function. You'd need to
> > cats your numbers to text strings, but it looks like it will drop
> > useless 0's for you.
> >
> > test=# SELECT trim(trailing 0 FROM '12.300'::TEXT)::NUMERIC;
> > rtrim
> > -------
> > 12.3
> > (1 row)
> >
>
>
> --

I also found simply casting the column as a float achieves the same
thing:

test=> select 23.510::numeric;
numeric
---------
23.510

test=> select 23.510::numeric::float;
float8
--------
23.51

Sven

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Scott Marlowe 2005-10-04 16:26:03 Re: export a select result in a file ?
Previous Message Tom Lane 2005-10-04 15:25:17 Re: Avoiding evaluating functions twice.