diff --git a/Misc/NEWS b/Misc/NEWS index 4625134d278..9051e00b357 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -13,6 +13,9 @@ Core and Builtins Library ------- +- Issue #23096: Pickle representation of floats with protocol 0 now is the same + for both Python and C implementations. + - Issue #19105: pprint now more efficiently uses free space at the right. - Issue #14910: Add allow_abbrev parameter to argparse.ArgumentParser. Patch by diff --git a/Modules/_pickle.c b/Modules/_pickle.c index 7a234f1dfff..51e2f83ff8f 100644 --- a/Modules/_pickle.c +++ b/Modules/_pickle.c @@ -1979,7 +1979,7 @@ save_float(PicklerObject *self, PyObject *obj) if (_Pickler_Write(self, &op, 1) < 0) goto done; - buf = PyOS_double_to_string(x, 'g', 17, 0, NULL); + buf = PyOS_double_to_string(x, 'r', 0, Py_DTSF_ADD_DOT_0, NULL); if (!buf) { PyErr_NoMemory(); goto done;