Skip to content

float format specifier throws on int, unlike in cpython. #838

@mickp

Description

@mickp

Description

If an int is passed to a float format specifier, IronPython treats the float specifier as an int specifier and throws, whereas cpython treats the int as a float.

Steps to Reproduce

>>> "{:.3f}".format(1)

Expected behavior:
Verified in cpython 2.7.1.7

>>> "{:.3f}".format(1)
'1.000'
>>>

Actual behavior: [What actually happened]

>>> "{:.3f}".format(1)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: Precision not allowed in integer format specifier
>>>

Versions

IronPython 2.7.12 (2.7.12.1000)
[.NETFramework,Version=v4.5 on .NET Framework 4.8.9195.0 (64-bit)]

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions