我正在寻找在Windows操作系统下用Python进行德国数字格式化(例如1.000,1234
)的正确方法。
我尝试了locale.setlocale
,但没有成功。
相反,我编写了一个函数来得到所需的输出。
有更好的方法吗?
def ger_num(number, precision=3):
"""
returns german formatted number as string or an empty string
"""
if number is not None:
try:
my_number = "{:,f}".format(number)
except ValueError:
return ""
decimals, fraction = my_number.split(".")[0], my_number.split(".")[1]
decimals = decimals.replace(",", ".")
if precision:
return decimals + "," + fraction[:precision]
else:
return decimals
else:
return ""
locale
尝试了什么?也许你的平台不支持它?在这里查看许多答案:https://dev59.com/1WYq5IYBdhLWcg3wridD - juanpa.arrivillaga