我在Python中格式化数字输出时遇到问题。我找到了一些如何使用.format()
进行操作的示例,但我无法弄清楚如何将其设置为我想要的输出。
我想要"。"作为千分隔符","十进制(例如7.654,32)。如果我想反过来,我会使用例如print("{0:,.2f}".format(7654.321))
,但我找不到相反的情况。如果没有别的,我可以使用replace()
,但更喜欢优雅的解决方案,因为我会在我的html模板中使用Jinja2
进一步使用。
谢谢你,最诚挚的问候,
波斯蒂安
答案 0 :(得分:0)
您可以将Babel用于许多类型的实用程序。对于您的情况,我认为format_decimal
和Babel
是理想的。首先,您可以使用pip install Babel
安装de_DE
。格式化您的号码,您可以使用from babel.numbers import format_number
formatted_number = format_number(7654.321, locale='de_DE')
print(formatted_number)
>>> 7.654,321
作为区域设置。
SET(OCULUS_PATH "OCULUS_SDK_ROOT_DIR-NOTFOUND" REQUIRED CACHE STRING "Path of OVR SDK folder. eg: C:\\ovr_sdk_win_0.17.0\\OculusSDK")
SET(SDL_PATH "SDL2_ROOT_DIR-NOTFOUND" REQUIRED CACHE STRING "Path of SDL2 folder. eg: C:\\SDL2-2.0.
答案 1 :(得分:0)
如果您不想使用任何其他套餐,仍然是单行
num = 7654.321
format(int(num), ",d").replace(",",".") + "," + "{0:,.2f}".format(num-int(num))[2:]