John, 
Probably. As in, probably I did something wrong. (What else is new? )
When I first queried the database, it returned only integers when I calculated 
the shares, so I Googled to find out how to get some decimals. My solution was 
to multiply by 1.0, which yielded the aforementioned results. 
Specifically, my query included SUM (shares*1.0/shares_denom). This resulted in 
the residuals. 
So, what is the "rational" way to calculate the shares? 
David

 
 
  On Sat, Oct 29, 2016 at 19:00, John Ralls<jra...@ceridwen.us> wrote:   
> On Oct 29, 2016, at 4:47 AM, David T. via gnucash-devel 
> <gnucash-devel@gnucash.org> wrote:
> 
> Hi,
> 
> Next question regarding commodity data in my GnuCash file. 
> 
> I ran a simple SQL query against the SQLite db to count up the total number 
> of shares by commodity, and I ran into several commodities whose share total 
> was in the range of  9.9475983006414e-14. I know that there was a discussion 
> some time back about the vagaries of rounding, and I wonder whether I should 
> attempt to clean up these inconsistencies and if so, how I should do that.

David,

What does GnuCash show as the residual value in those accounts?

That number looks like you might have converted the rational numbers into 
floats, either in your query or in your post-processing. Don't do that, use 
rational arithmetic.

Regards,
John Ralls  
_______________________________________________
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel

Reply via email to