diff --git a/src/calibre/ebooks/metadata/book/base.py b/src/calibre/ebooks/metadata/book/base.py index 3613af3af0..1b43b97b73 100644 --- a/src/calibre/ebooks/metadata/book/base.py +++ b/src/calibre/ebooks/metadata/book/base.py @@ -653,7 +653,7 @@ class Metadata(object): elif datatype == 'bool': res = _('Yes') if res else _('No') elif datatype == 'rating': - res = res/2.0 + res = u'%.2g'%(res/2.0) elif datatype in ['int', 'float']: try: fmt = cmeta['display'].get('number_format', None) @@ -693,7 +693,7 @@ class Metadata(object): elif datatype == 'datetime': res = format_date(res, fmeta['display'].get('date_format','dd MMM yyyy')) elif datatype == 'rating': - res = res/2.0 + res = u'%.2g'%(res/2.0) elif key == 'size': res = human_readable(res) return (name, unicode(res), orig_res, fmeta) @@ -728,7 +728,8 @@ class Metadata(object): if not self.is_null('languages'): fmt('Languages', ', '.join(self.languages)) if self.rating is not None: - fmt('Rating', self.rating) + fmt('Rating', (u'%.2g'%(float(self.rating)/2.0)) if self.rating + else u'') if self.timestamp is not None: fmt('Timestamp', isoformat(self.timestamp)) if self.pubdate is not None: