Stavros Macrakis - 15 hours ago

This is as specified:

For bigfloat numbers, when 'fpprintprec' has a value between 2 and 'fpprec' (inclusive), the number of digits printed is equal to 'fpprintprec'. Otherwise, 'fpprintprec' is 0, or greater than 'fpprec', and the number of digits printed is equal to 'fpprec'.

The specified behavior for floats is different from that of bfloats:

(for floats) Otherwise, ... the number is printed "readably": that is, it is printed
with sufficient digits to exactly reconstruct the number on input.

The problem is that there is currently no way to specify that bigfloat be printed readably.
One convention that could work is that if fpprintprec>fpprec, then bfloats are printed readably.

Readable printing is a delicate problem, and I'm not sure how much work it would take to add that to bfloat printing. See https://kurtstephens.com/files/p372-steele.pdf