templatetags: handle only integers with as_numeral filter (#58158)
This commit is contained in:
parent
b333bf4833
commit
38189e9de7
|
@ -43,6 +43,7 @@ def as_numeral(number):
|
|||
number = parse_float(number)
|
||||
if not number:
|
||||
return ''
|
||||
number = int(number)
|
||||
try:
|
||||
return num2words(number, lang=get_language())
|
||||
except (TypeError, ValueError, decimal.InvalidOperation):
|
||||
|
|
|
@ -21,8 +21,8 @@ def test_as_numeral(settings):
|
|||
t = Template('{{ number|as_numeral }}')
|
||||
assert t.render(Context({'number': 42})) == 'forty-two'
|
||||
assert t.render(Context({'number': '42'})) == 'forty-two'
|
||||
assert t.render(Context({'number': 42.15})) == 'forty-two point one five'
|
||||
assert t.render(Context({'number': '42,15'})) == 'forty-two point one five'
|
||||
assert t.render(Context({'number': 42.15})) == 'forty-two'
|
||||
assert t.render(Context({'number': '42,15'})) == 'forty-two'
|
||||
assert t.render(Context({'number': -42})) == 'minus forty-two'
|
||||
assert t.render(Context({'number': 100200})) == 'one hundred thousand, two hundred'
|
||||
assert t.render(Context({'number': '100200'})) == 'one hundred thousand, two hundred'
|
||||
|
@ -34,7 +34,7 @@ def test_as_numeral(settings):
|
|||
|
||||
settings.LANGUAGE_CODE = 'fr'
|
||||
assert t.render(Context({'number': '42'})) == 'quarante-deux'
|
||||
assert t.render(Context({'number': 42.15})) == 'quarante-deux virgule un cinq'
|
||||
assert t.render(Context({'number': 42.15})) == 'quarante-deux'
|
||||
assert t.render(Context({'number': 100200})) == 'cent mille deux cents'
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue