Message 407928 - Python tracker
> changing %-formatting doesn't seem viable
I'm concerned about treating %-formatting specially. As far as float/complex, the logical and efficient place to put this change seems to be PyOS_double_to_string(), which affects all three formatting options.
For example, the dtoa case is as simple as this change to format_float_short():
/* coerce negative zero to positive */
if (sign == 1 && ((digits_len == 0 && decpt == -1) ||
(digits_len == 1 && digits[0] == '0'))) {
sign = 0;
}