Python数字格式

时间:2018-04-04 08:14:09

标签: python numbers format

我在Python中格式化数字输出时遇到问题。我找到了一些如何使用.format()进行操作的示例,但我无法弄清楚如何将其设置为我想要的输出。

我想要"。"作为千分隔符","十进制(例如7.654,32)。如果我想反过来,我会使用例如print("{0:,.2f}".format(7654.321)),但我找不到相反的情况。如果没有别的,我可以使用replace(),但更喜欢优雅的解决方案,因为我会在我的html模板中使用Jinja2进一步使用。

谢谢你,最诚挚的问候,

波斯蒂安

2 个答案:

答案 0 :(得分:0)

您可以将Babel用于许多类型的实用程序。对于您的情况,我认为format_decimalBabel是理想的。首先,您可以使用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:]