Issue #5864: format(1234.5, '.4') gives misleading result
(Backport of r72109 from py3k.)
diff --git a/Lib/test/test_float.py b/Lib/test/test_float.py
index 0b1ae96..da9c439 100644
--- a/Lib/test/test_float.py
+++ b/Lib/test/test_float.py
@@ -253,6 +253,11 @@
             self.assertEquals(math.atan2(float('-1e-1000'), -1),
                               math.atan2(-0.0, -1))
 
+    def test_issue5864(self):
+        self.assertEquals(format(123.456, '.4'), '123.5')
+        self.assertEquals(format(1234.56, '.4'), '1.235e+03')
+        self.assertEquals(format(12345.6, '.4'), '1.235e+04')
+
 class ReprTestCase(unittest.TestCase):
     def test_repr(self):
         floats_file = open(os.path.join(os.path.split(__file__)[0],