Fixed incorrect object passed into format_float_internal(). This was resulting in a conversion being done twice.
diff --git a/Objects/stringlib/formatter.h b/Objects/stringlib/formatter.h
index 86235a6..df29158 100644
--- a/Objects/stringlib/formatter.h
+++ b/Objects/stringlib/formatter.h
@@ -939,7 +939,7 @@
         tmp = PyNumber_Float(obj);
         if (tmp == NULL)
             goto done;
-        result = format_float_internal(obj, &format);
+        result = format_float_internal(tmp, &format);
         break;
 
     default: