From: Jelle Zijlstra Date: Mon, 20 Aug 2018 15:19:25 +0000 (-0700) Subject: fix misformatting of floats with leading zeros (#464) X-Git-Url: https://git.madduck.net/etc/vim.git/commitdiff_plain/d4f05217546dd98f81ca472aa00e68d978c900f4?ds=sidebyside;hp=883689366ce0f0e0ddd66d81360c61abfd19b01a fix misformatting of floats with leading zeros (#464) --- diff --git a/black.py b/black.py index b65693e..5550b23 100644 --- a/black.py +++ b/black.py @@ -2564,7 +2564,9 @@ def format_int_string(text: str, allow_underscores: bool) -> str: # No underscores for numbers <= 6 digits long. return text - return format(int(text), "3_") + # Avoid removing leading zeros, which are important if we're formatting + # part of a number like "0.001". + return format(int("1" + text), "3_")[1:].lstrip("_") def normalize_invisible_parens(node: Node, parens_after: Set[str]) -> None: diff --git a/tests/data/numeric_literals.py b/tests/data/numeric_literals.py index 8999b9d..2dc64c7 100644 --- a/tests/data/numeric_literals.py +++ b/tests/data/numeric_literals.py @@ -14,6 +14,7 @@ x = 123456789.123456789J x = 0XB1ACC x = 0B1011 x = 0O777 +x = 0.000000006 # output @@ -34,3 +35,4 @@ x = 123_456_789.123_456_789j x = 0xb1acc x = 0b1011 x = 0o777 +x = 0.000_000_006