Thank you for that analysis! 
For reference, I will also copy here the reply I added to that issue:

Thanks for elaborating! I had the same issue. However, I searched for 
decimal places
```sql
select * where round(number, 6) != number
```
and there was no records with that many decimal places. I looked for both 
`number` and `cost_number`.
I was debugging the `print` function but did not really figure out why all 
the prices were maxed-out with zeros. The currency precision was different 
for different currencies, while prices were all with almost the same number 
of decimal places.
After I fixed the price source to return the decimals as reported on the 
exchange (the source I was testing with was returning some crazy amounts 
with multiple decimals, but max. 6, not 18), the places were padded with 
0's.
After reading your description, I assume the decimal places were jacked-up 
by implicit prices, since I'm using
```
plugin "beancount.plugins.implicit_prices"
```
in my book. But that is still just an assumption.

Based on the recent check-ins, Martin is working on the precision setting 
so that might eventually resolve the problem.

As a workaround, I wrote a simple script that strips the right-most zeros 
from the prices in the generated price file. This will work for now, as I'm 
focusing on completing the importers and other price sources.

On Wednesday, 4 June 2025 at 12:24:47 am UTC+2 Chary Ev2geny wrote:

> Hi,
>
> I also saw similar problem, so I now documented on how to reproduce it
>
> https://github.com/beancount/beanprice/issues/116
>
> Regards.
>
> On Friday, May 30, 2025 at 5:10:05 PM UTC+2 Alen Šiljak wrote:
>
>> Hi! I've set up beanprice to fetch prices and that seems to work. I've 
>> also adapted some of my price sources to work with beancount. These are 
>> publicly available as as-price-download on github/pypi.
>>
>> When running directly
>> ```sh
>> bean-price -e "AUD:pricedl.beanprice.yahoo/ASX:VHY"
>> ```
>> the price comes out as expected
>> ```
>> 2025-05-30 price ASX:VHY                             74.33 AUD
>> ```
>> But, when reading the metadata from the book
>> ```
>> bean-price -v ..\book.bean > ..\prices\prices.current.bean
>> ```
>> the prices are coming out like this:
>> ```
>> 2025-05-30 price BLV                    67.6500000000000000000000000000 
>> USD
>> 2025-05-30 price BND                    72.6350000000000000000000000000 
>> USD
>> 2025-05-29 price BRF                    14.5922000000000000000000000000 
>> USD
>> 2025-05-30 price BSV                    78.2699966430664062500000000000 
>> USD
>> 2025-05-30 price CEMB                   44.8699989318847656250000000000 
>> USD
>> 2025-05-30 price CQE_AX                 2.960000038146972656250000000 AUD
>> ```
>> These are from two different sources. Mine has 4 decimals, so likely 
>> using a different API.
>> Is there a way to limit the number of decimal places and/or to get rid of 
>> the zeros?
>> In the price source I've written, the price is Decimal type. So, the 
>> output and the conversion to string happens somewhere in beanprice, I 
>> assume?
>>
>> Somebody elsewhere suggested that this is due to the existing prices and 
>> inference. I will try to experiment with one symbol.
>>
>> Any hints highly appreciated!
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Beancount" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/d/msgid/beancount/9d00be1f-8ae0-4220-ad6b-5a4d66fe69ean%40googlegroups.com.

Reply via email to