Python Forum
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
underscore in numbers
#1
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?
Tradition is peer pressure from dead people

What do you call someone who speaks three languages? Trilingual. Two languages? Bilingual. One language? American.
Reply
#2
I've had to deal with a broader range of number formats before. I just made new functions to validate/convert them.
Craig "Ichabod" O'Brien - xenomind.com
I wish you happiness.
Recommended Tutorials: BBCode, functions, classes, text adventures
Reply
#3
did you make validation functions totally separate from conversion function?
Tradition is peer pressure from dead people

What do you call someone who speaks three languages? Trilingual. Two languages? Bilingual. One language? American.
Reply
#4
I don't remember.
Craig "Ichabod" O'Brien - xenomind.com
I wish you happiness.
Recommended Tutorials: BBCode, functions, classes, text adventures
Reply
#5
i now try to make one function do both roles. unless fail= is specified, a failure raises an exception.
Tradition is peer pressure from dead people

What do you call someone who speaks three languages? Trilingual. Two languages? Bilingual. One language? American.
Reply


Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020