mirror of
https://github.com/bblaz/num2words.git
synced 2025-12-06 06:42:25 +00:00
Added ability to display cents as numbers
This commit is contained in:
@@ -110,7 +110,7 @@ class Num2Word_EN(num2word_EU.Num2Word_EU):
|
|||||||
|
|
||||||
def to_currency(self, val, longval=True):
|
def to_currency(self, val, longval=True):
|
||||||
return self.to_splitnum(val, hightxt="dollar/s", lowtxt="cent/s",
|
return self.to_splitnum(val, hightxt="dollar/s", lowtxt="cent/s",
|
||||||
jointxt="and", longval=longval)
|
jointxt="and", longval=longval, cents = True)
|
||||||
|
|
||||||
|
|
||||||
n2w = Num2Word_EN()
|
n2w = Num2Word_EN()
|
||||||
|
|||||||
@@ -34,9 +34,9 @@ from num2word_EN import Num2Word_EN
|
|||||||
|
|
||||||
|
|
||||||
class Num2Word_EN_EUR(Num2Word_EN):
|
class Num2Word_EN_EUR(Num2Word_EN):
|
||||||
def to_currency(self, val, longval=True):
|
def to_currency(self, val, longval=True, cents=True, jointxt="and"):
|
||||||
return self.to_splitnum(val, hightxt="euro/s", lowtxt="cents",
|
return self.to_splitnum(val, hightxt="euro/s", lowtxt="cents",
|
||||||
jointxt="and", longval=longval)
|
jointxt=jointxt, longval=longval, cents = cents)
|
||||||
|
|
||||||
|
|
||||||
n2w = Num2Word_EN_EUR()
|
n2w = Num2Word_EN_EUR()
|
||||||
|
|||||||
@@ -191,7 +191,7 @@ def n2w(n):
|
|||||||
else:
|
else:
|
||||||
return int2word(int(n))
|
return int2word(int(n))
|
||||||
|
|
||||||
def to_currency(n, currency='LTL'):
|
def to_currency(n, currency='LTL', cents = True):
|
||||||
if type(n) == int:
|
if type(n) == int:
|
||||||
left = abs(n / 100)
|
left = abs(n / 100)
|
||||||
right = abs(n % 100)
|
right = abs(n % 100)
|
||||||
@@ -214,8 +214,13 @@ def to_currency(n, currency='LTL'):
|
|||||||
else:
|
else:
|
||||||
minus_str = ""
|
minus_str = ""
|
||||||
|
|
||||||
|
if cents:
|
||||||
|
cents_str = int2word(right)
|
||||||
|
else:
|
||||||
|
cents_str = "%02d" % right
|
||||||
|
|
||||||
return u'%s%s %s, %s %s' % (minus_str, int2word(left), pluralize(left, cr1),
|
return u'%s%s %s, %s %s' % (minus_str, int2word(left), pluralize(left, cr1),
|
||||||
int2word(right), pluralize(right, cr2))
|
cents_str, pluralize(right, cr2))
|
||||||
|
|
||||||
to_card = n2w
|
to_card = n2w
|
||||||
|
|
||||||
|
|||||||
@@ -206,7 +206,7 @@ class Num2Word_Base(object):
|
|||||||
|
|
||||||
#//CHECK: generalise? Any others like pounds/shillings/pence?
|
#//CHECK: generalise? Any others like pounds/shillings/pence?
|
||||||
def to_splitnum(self, val, hightxt="", lowtxt="", jointxt="",
|
def to_splitnum(self, val, hightxt="", lowtxt="", jointxt="",
|
||||||
divisor=100, longval=True):
|
divisor=100, longval=True, cents = True):
|
||||||
out = []
|
out = []
|
||||||
try:
|
try:
|
||||||
high, low = val
|
high, low = val
|
||||||
@@ -224,7 +224,10 @@ class Num2Word_Base(object):
|
|||||||
elif hightxt:
|
elif hightxt:
|
||||||
out.append(hightxt)
|
out.append(hightxt)
|
||||||
if low:
|
if low:
|
||||||
|
if cents:
|
||||||
out.append(self.to_cardinal(low))
|
out.append(self.to_cardinal(low))
|
||||||
|
else:
|
||||||
|
out.append("%02d" % low)
|
||||||
if lowtxt and longval:
|
if lowtxt and longval:
|
||||||
out.append(self.title(self.inflect(low, lowtxt)))
|
out.append(self.title(self.inflect(low, lowtxt)))
|
||||||
return " ".join(out)
|
return " ".join(out)
|
||||||
|
|||||||
2
setup.py
2
setup.py
@@ -1,7 +1,7 @@
|
|||||||
from setuptools import setup
|
from setuptools import setup
|
||||||
|
|
||||||
setup(name='pynum2word',
|
setup(name='pynum2word',
|
||||||
version=0.41,
|
version=0.42,
|
||||||
description='Modules to convert numbers to words. Easily extensible.',
|
description='Modules to convert numbers to words. Easily extensible.',
|
||||||
author='Taro Ogawa <tso at users sourceforge net>',
|
author='Taro Ogawa <tso at users sourceforge net>',
|
||||||
author_email='tos@users.sourceforge.net',
|
author_email='tos@users.sourceforge.net',
|
||||||
|
|||||||
Reference in New Issue
Block a user