diff options
-rw-r--r-- | Objects/stringlib/formatter.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/Objects/stringlib/formatter.h b/Objects/stringlib/formatter.h index d9d47b9..1f3c535 100644 --- a/Objects/stringlib/formatter.h +++ b/Objects/stringlib/formatter.h @@ -935,6 +935,12 @@ format_float_internal(PyObject *value, if (precision < 0) precision = 6; +#if PY_VERSION_HEX < 0x03010000 + /* 3.1 no longer converts large 'f' to 'g'. */ + if ((type == 'f' || type == 'F') && fabs(val) >= 1e50) + type = 'g'; +#endif + /* Cast "type", because if we're in unicode we need to pass a 8-bit char. This is safe, because we've restricted what "type" can be. */ |