On 7/10/17, Jean-Marie CUAZ <jm.c...@orens.fr> wrote:
> Hello,
>
> Below is a recipe on a "best effort" basis, to truncate fp numbers on
> the right side of the decimal separator with SQLite.

I don't understand how this is different from "round(N,3)"?

What are you trying to do to the fp number N that "round(N,3)" does not do?

What am I missing?

>
> It is not intended to correct any fp numbers processing, but only to
> discard, without any rounding, unwanted fractional digits.
>
> The following is directed to discard all digits of a number after the
> third fractional position (slight and easy adjustments must be done for
> different positional truncations) :
>
>      round(  CAST(/expression/ AS INTEGER)
>
>                + /((expression/  * 1000 % 1000 ) / 1000 ), 3)
>
> (round() is used against eventually imprecise representation resulting
> from the top level addition operation)
>
> Caveat : force an eventual INTEGER representation resulting from
> /expression/ to its equivalent REAL representation (ie : x -> x.0)
>
> (not a pb for me)
>
> Improvements/comments welcome (and wil be happy when an equivalent
> function finds its way into SQLite)
>
> Thanks.
>
> -jm
>
>
>
>
>
>
> ---
> L'absence de virus dans ce courrier électronique a été vérifiée par le
> logiciel antivirus Avast.
> https://www.avast.com/antivirus
> _______________________________________________
> sqlite-users mailing list
> sqlite-users@mailinglists.sqlite.org
> http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
>


-- 
D. Richard Hipp
d...@sqlite.org
_______________________________________________
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to