For %d printf specifier and AbstractFloat, print as %0f (#37601)
Alternative fix to #37554. As Jameson noted on that PR, the type
instability made the code pretty ugly and slow. An alternative solution
is to switch the `%d` format specifier to `%0f`, i.e. a fixed precision
of 0 for `AbstractFloat` arguments. The code here is indeed much cleaner
and more performant: several times faster than old Printf.