Merge 64438: hex/oct/bin can show floats exactly.
diff --git a/Objects/abstract.c b/Objects/abstract.c
index 60a5e84..0d40d17 100644
--- a/Objects/abstract.c
+++ b/Objects/abstract.c
@@ -1451,8 +1451,11 @@
 PyNumber_ToBase(PyObject *n, int base)
 {
 	PyObject *res = NULL;
-	PyObject *index = PyNumber_Index(n);
+	PyObject *index;
 
+	if (PyFloat_Check(n))
+		return _float_to_base(n, base);
+	index = PyNumber_Index(n);
 	if (!index)
 		return NULL;
 	if (PyLong_Check(index))