小编典典

将浮点数转换为一定精度,然后复制为字符串

all

我有一个浮点数,比如说135.12345678910。我想将该值连接到一个字符串,但只想要135.123456789.
使用打印,我可以通过执行以下操作轻松做到这一点:

print "%.9f" % numvar

numvar我的原始号码。是否有捷径可寻?


阅读 60

收藏
2022-08-17

共1个答案

小编典典

对于 Python < 3(例如 2.6 [见评论] 或 2.7),有两种方法可以做到这一点。

# Option one
older_method_string = "%.9f" % numvar

# Option two
newer_method_string = "{:.9f}".format(numvar)

但请注意,对于 3 以上的 Python 版本(例如 3.2 或
3.3),选项二是首选

有关选项二的更多信息,我建议使用 Python
文档中关于字符串格式的链接

有关选项一的更多信息,这个链接就足够了,并且有关于各种标志的信息

Python 3.6(2016 年 12
月正式发布),增加了f字符串字面量,更多信息请看这里,扩展了str.format方法(使用大括号这样f"{numvar:.9f}"解决了原来的问题),即

# Option 3 (versions 3.6 and higher)
newest_method_string = f"{numvar:.9f}"

解决问题。查看@Or-Duan 的答案以获取更多信息,但这种方法 很快

2022-08-17