[Python-checkins] [2.7] bpo-35126: Fix a mistake in FAQ about converting number to string (GH-11911)

Miss Islington (bot) webhook-mailer at python.org
Tue Feb 19 04:26:06 EST 2019


https://github.com/python/cpython/commit/c611db4942a07c81f54e6584615bbddc51034a77
commit: c611db4942a07c81f54e6584615bbddc51034a77
branch: 2.7
author: Stéphane Wirtel <stephane at wirtel.be>
committer: Miss Islington (bot) <31488909+miss-islington at users.noreply.github.com>
date: 2019-02-19T01:26:02-08:00
summary:

[2.7] bpo-35126: Fix a mistake in FAQ about converting number to string (GH-11911)



https://bugs.python.org/issue35126

files:
A Misc/NEWS.d/next/Documentation/2019-02-18-10-01-07.bpo-35126.LWwl8X.rst
M Doc/faq/programming.rst

diff --git a/Doc/faq/programming.rst b/Doc/faq/programming.rst
index 9190e1a8e959..62b34b6e68ef 100644
--- a/Doc/faq/programming.rst
+++ b/Doc/faq/programming.rst
@@ -997,9 +997,27 @@ To convert, e.g., the number 144 to the string '144', use the built-in type
 constructor :func:`str`.  If you want a hexadecimal or octal representation, use
 the built-in functions :func:`hex` or :func:`oct`.  For fancy formatting, see
 the :ref:`formatstrings` section, e.g. ``"{:04d}".format(144)`` yields
-``'0144'`` and ``"{:.3f}".format(1/3)`` yields ``'0.333'``.  You may also use
-:ref:`the % operator <string-formatting>` on strings.  See the library reference
-manual for details.
+``'0144'`` and ``"{:.3f}".format(1.0/3.0)`` yields ``'0.333'``. In Python 2, the
+division (/) operator returns the floor of the mathematical result of division
+if the arguments are ints or longs, but it returns a reasonable approximation of
+the division result if the arguments are floats or complex::
+
+   >>> print('{:.3f}'.format(1/3))
+   0.000
+   >>> print('{:.3f}'.format(1.0/3))
+   0.333
+
+In Python 3, the default behaviour of the division operator (see :pep:`238`) has
+been changed but you can have the same behaviour in Python 2 if you import
+``division`` from :mod:`__future__`::
+
+   >>> from __future__ import division
+   >>> print('{:.3f}'.format(1/3))
+   0.333
+
+
+You may also use :ref:`the % operator <string-formatting>` on strings.  See the
+library reference manual for details.
 
 
 How do I modify a string in place?
diff --git a/Misc/NEWS.d/next/Documentation/2019-02-18-10-01-07.bpo-35126.LWwl8X.rst b/Misc/NEWS.d/next/Documentation/2019-02-18-10-01-07.bpo-35126.LWwl8X.rst
new file mode 100644
index 000000000000..8ad392ee3c97
--- /dev/null
+++ b/Misc/NEWS.d/next/Documentation/2019-02-18-10-01-07.bpo-35126.LWwl8X.rst
@@ -0,0 +1,2 @@
+Improve the examples in the "How do I convert a number to string?" question
+of the "Programming" section of the FAQ.  Contributed by Stéphane Wirtel.



More information about the Python-checkins mailing list