【发布时间】:2026-02-20 23:00:02
【问题描述】:
我正在 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做了什么尝试?也许您的平台不支持它?在这里查看许多答案:*.com/questions/14287051/…
标签: python python-3.x localization locale string-formatting