What it does in this case is to display the _digits_ with full precision. The seventh decimal only has partial precision, so it is better not to show it. (Of course, this only applies to numbers in the range 1..2-\epsilon for the %f representation.)
Pike v7.6 release 13 running Hilfe v3.5 (Incremental Pike Frontend)
sprintf("%.7f", 1.5707960);
(1) Result: "1.5707960"
sprintf("%.7f", 1.5707961);
(2) Result: "1.5707961"
sprintf("%.7f", 1.5707962);
(3) Result: "1.5707963" <--------
sprintf("%.7f", 1.5707963);
(4) Result: "1.5707963"