亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將浮點數轉換為一定精度,然后復制到字符串

將浮點數轉換為一定精度,然后復制到字符串

狐的傳說 2019-12-17 10:55:55
我說一個浮點數135.12345678910。我想將該值連接到一個字符串,但只想要135.123456789。使用打印,我可以通過執行以下操作輕松地做到這一點:print "%.9f" % numvar用numvar我的原始號碼。是否有捷徑可尋?
查看完整描述

3 回答

?
HUH函數

TA貢獻1836條經驗 獲得超4個贊

對于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),首選選項2 。


有關選項二的更多信息,我建議使用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的答案以獲取更多信息,但是這種方法很快。


查看完整回答
反對 回復 2019-12-17
?
30秒到達戰場

TA貢獻1828條經驗 獲得超6個贊

Python 3.6 | 2017年

為了清楚起見,您可以使用f字符串格式。它的語法幾乎與format方法相同,但是要好一些。


例:


print(f'{numvar:.9f}')


查看完整回答
反對 回復 2019-12-17
?
慕斯709654

TA貢獻1840條經驗 獲得超5個贊

使用round:


>>> numvar = 135.12345678910

>>> str(round(numvar, 9))

'135.123456789'


查看完整回答
反對 回復 2019-12-17
  • 3 回答
  • 0 關注
  • 441 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號