对于 python 中的某些机器控制,我将结果写入文本文件,其他人可以将其复制到 Excel 中(这是这种情况下最方便的方法)。然而,在荷兰,Excel 有一个逗号作为小数点分隔符,因此我希望文本文件中的结果“位置”为 123,456,但是当我使用这样的 f-string 方法时:
resultfile.write(f"Position\t{position:.5}")
这显然会导致点小数点分隔符。
我怎样才能将其更改为逗号而不遍历整个文件并用逗号替换点?
原文由 seaver 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果要 在 f 字符串中用逗号格式化浮点数,可以在将浮点数转换为字符串后使用替换:
第二种选择是使用 Python 标准库模块语言环境( 但它不是线程安全的):
第三种选择是使用库 babel (在库例程的情况下首选):
对于给定的示例,所有三个选项都返回相同的结果: