Probably best to figure out #7364 first.
Precision in %a format is completely ignored:
cargo run printf "%a %.6a\n" 0.1 0.1
0x1.999999999999ap-4 0x1.999999999999ap-4
printf "%a %.6a\n" 0.1 0.1
0xc.ccccccccccccccdp-7 0xc.cccccdp-7
(format_float_hexadecimal hardcodes a specific format)