問題描述
我有一個浮點數,比如 135.12345678910
.我想將該值連接到一個字符串,但只需要 135.123456789
.使用打印,我可以通過執行以下操作輕松做到這一點:
I have a floating point number, say 135.12345678910
. I want to concatenate that value to a string, but only want 135.123456789
. With print, I can easily do this by doing something like:
print "%.9f" % numvar
numvar
是我的原始號碼.有沒有簡單的方法可以做到這一點?
with numvar
being my original number. Is there an easy way to do this?
推薦答案
使用 Python <3(例如 2.6 [見評論] 或 2.7),有兩種方法.
With Python < 3 (e.g. 2.6 [see comments] or 2.7), there are two ways to do so.
# Option one
older_method_string = "%.9f" % numvar
# Option two
newer_method_string = "{:.9f}".format(numvar)
但請注意,對于高于 3 的 Python 版本(例如 3.2 或 3.3),選項二是 首選.
But note that for Python versions above 3 (e.g. 3.2 or 3.3), option two is preferred.
有關選項二的更多信息,我建議 this link on string formatting from thePython 文檔.
For more information on option two, I suggest this link on string formatting from the Python documentation.
關于選項一的更多信息,這個鏈接就足夠了,并且有各種標志的信息.
And for more information on option one, this link will suffice and has info on the various flags.
Python 3.6(2016 年 12 月正式發布),添加了 f
字符串字面量,在此處查看更多信息,它擴展了 str.format
方法(使用大括號,例如 f"{numvar:.9f}"
解決了原來的問題),也就是
Python 3.6 (officially released in December of 2016), added the f
string literal, see more information here, which extends the str.format
method (use of curly braces such that f"{numvar:.9f}"
solves the original problem), that is,
# Option 3 (versions 3.6 and higher)
newest_method_string = f"{numvar:.9f}"
解決問題.查看@Or-Duan 的答案以獲取更多信息,但此方法快速.
solves the problem. Check out @Or-Duan's answer for more info, but this method is fast.
這篇關于將浮點數轉換為一定精度,然后復制為字符串的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!