[Zope3-Users] Internationalization, Widgets, and Currency
Tom Dossis
td at yoma.com.au
Tue May 9 01:37:25 EDT 2006
David Johnson wrote:
> I am trying to implement a currency input using a Float widget.
> However, the widget is populated with a strange character, and when
> saving the data that strange character causes problems. I do not see a
> Currency widget. What is the proper internationalization technique in
> regards to currency and widgets?
>
>
>
> If I just use the float widget without the locale, the numbers are
> displayed without the trailing zeros that are standard, although it
> otherwise works fine. For example, US $1.20 is displayed as 1.2.
You could try a customised FloatWidget (or TextWidget) to allow you to
control the display and input value formats, a e.g.
class CurrencyWidget(TextWidget):
def _toFieldValue(self, input):
try:
return float(input) # convert to currency object
except ValueError, v:
raise ConversionError(_("Invalid currency format .."), v)
def _getFormValue(self):
currency = super(CurrencyWidget, self)._getFormValue()
if currency:
return '$0.2f' % currency # display currency
More information about the Zope3-users
mailing list