Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save AlmightyOatmeal/20494b2dab7532c670f739ec466b44d4 to your computer and use it in GitHub Desktop.
Save AlmightyOatmeal/20494b2dab7532c670f739ec466b44d4 to your computer and use it in GitHub Desktop.
Convert number to human-readable string based on locale. Additional kwargs passed to locale.format().
import locale
def convert_number_to_human_readable_string(data, fmt=None, grouping=True, **kwargs):
"""Convert number to human-readable string based on locale. Additional kwargs passed to locale.format().
:param data: Some kind of number.
:type data: int, float, long
:param fmt: (optional) Number format. (default: None)
:param grouping: (optional) Take grouping into account. (default: True)
:type grouping: bool
:return: Human-readable string.
:rtype: basestring, str, unicode
"""
if fmt is not None:
return locale.format(fmt, data, grouping=grouping, **kwargs)
if isinstance(data, (int, long)):
return locale.format('%d', data, grouping=grouping, **kwargs)
if isinstance(data, float):
return locale.format('%f', data, grouping=grouping, **kwargs)
return data
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment