Python Forum
underscore in numbers - Printable Version

+- Python Forum (https://python-forum.io)
+-- Forum: General (https://python-forum.io/forum-1.html)
+--- Forum: News and Discussions (https://python-forum.io/forum-31.html)
+--- Thread: underscore in numbers (/thread-19751.html)



underscore in numbers - Skaperen - Jul-13-2019

you can insert one (not more than one) underscore character in literals for int, float, and complex. conversion functions int(), float(), complex(), and decimal.Decimal() also support this form. for ints, this includes expressions in other bases, but not within the base prefix.

however, methods like .isdecimal(), .isdigit(), and .isnumeric() do not support this form. you could remove the underscore characters before performing the .is checks. but then, cases with invalid underscores, such as double, can leak through. if you do remove underscores to do checks, you should also remove them for the conversion. perhaps a simpler way is to just go directly to the conversion inside try/except.

i am considering using _ in output number formatting in certain cases (

anyone have experience dealing with any of this?


RE: underscore in numbers - ichabod801 - Jul-13-2019

I've had to deal with a broader range of number formats before. I just made new functions to validate/convert them.


RE: underscore in numbers - Skaperen - Jul-13-2019

did you make validation functions totally separate from conversion function?


RE: underscore in numbers - ichabod801 - Jul-14-2019

I don't remember.


RE: underscore in numbers - Skaperen - Jul-14-2019

i now try to make one function do both roles. unless fail= is specified, a failure raises an exception.