formatting: don't force the presence of ".0" for %f and %e when precision is 0
It's misleading because you can think you have more precision than you really
do when looking at the output. So instead of "1.0", we can format it as "1" or
"1.". And instead of "1.0e+00" we can format "1e+00" or "1.e+00". In C,
printf does not print the radix character, it's prettier. But since the factor
parser accepts both styles, and keeping the radix character gives a stronger sense
that the number is approximate, I prefer to keep the radix character..