inflect icon indicating copy to clipboard operation
inflect copied to clipboard

number_to_words, group==2 and 3 digit numbers

Open FredSRichardson opened this issue 1 year ago • 3 comments

The current behavior for three digit numbers with group==2 is to split between the first two and last number. For example:

>>> p.number_to_words('123', group=2)
'twelve, three'
>>>

It is more common - at least in American English - to split after the first digit which would return 'one twenty-three'.

I realize a group is an arbitrary split, but I'm not sure the current behavior - at least for 3 digit numbers - reflects any common usage.

I realize there are a few other slightly inconvenient was to accomplish the same thing:

>>> ' '.join([p.number_to_words('1'), p.number_to_words('23')])
'one twenty-three'
>>> p.number_to_words('123').replace('hundred and ', '')
'one twenty-three'
>>>

FredSRichardson avatar Jul 03 '24 20:07 FredSRichardson

I tend to agree; I'd expect numbers to be grouped from least significant to most, then read from most to least.

Would you be interested in working on a PR to effect the change?

jaraco avatar Sep 07 '24 13:09 jaraco

@jaraco I'm interesting in contributing but there's no contributing.md file so I don't know how to setup my local environment correctly or run unit tests. How should I proceed?

NFeruch avatar Sep 09 '24 22:09 NFeruch

@NFeruch This project is hosted under the skeleton philosophy. There's some contributing guidance there. I have plans to make that guidance more visible and complete, but it should get you started. tl;dr - install tox somewhere and run it.

jaraco avatar Sep 11 '24 01:09 jaraco