Python刪除小數點後多餘的0

2021-10-09 18:01:25 字數 1727 閱讀 5690

刪除小數點後多餘的0

輸入

12.22

12.20

12.0

輸出

12.22

12.2

12

判斷型別並結合字串的rstrip()

def

delete_extra_zero

(n):

'''刪除小數點後多餘的0'''

ifisinstance

(n,int):

return n

ifisinstance

(n,float):

n =str(n)

.rstrip(

'0')

# 刪除小數點後多餘的0

n =int(n.rstrip(

'.')

)if n.endswith(

'.')

else

float

(n)# 只剩小數點直接轉int,否則轉回float

return n

if __name__ ==

'__main__'

:print

(delete_extra_zero(

12.22))

# 12.22

print

(delete_extra_zero(

12.20))

# 12.2

print

(delete_extra_zero(

12.0))

# 12

print

(delete_extra_zero(12)

)# 12

print

(delete_extra_zero(

120)

)# 120

感謝 ynagshanwen提供的方案

def

delete_extra_zero

(n):

"""刪除小數點後多餘的0"""

n =''.

format

(n) n =

float

(n)if

'.'in n else

int(n)

# 含小數點轉float否則int

return n

if __name__ ==

'__main__'

:print

(delete_extra_zero(

12.22))

# 12.22

print

(delete_extra_zero(

12.20))

# 12.2

print

(delete_extra_zero(

12.02))

# 12.02

print

(delete_extra_zero(

12.0))

# 12

print

(delete_extra_zero(12)

)# 12

print

(delete_extra_zero(

120)

)# 120

python中輸出時如何省略小數末位的零?

格式字串語法 — python文件

去除小數點後多餘的0

bigdecimal c new bigdecimal 14121312.22002000 numberformat nf numberformat.getinstance nf.setmaximumfractiondigits 6 string d nf.format c system.out.p...

python小數點 python 小數點問題

我想生成一組小數,大小為從0到1,間隔為0.2,即 0,0.2,0.4,0.6,0.8,1 1.while迴圈生成 a list i 0 while i 1 i 0.2 print a list 列印結果為 0,0.2,0.4,0.6000000000000001,0.8,1.0 奇怪,為什麼會有0...

小數點後k位

立華奏在學習初中數學的時候遇到了這樣一道大水題 設箱子內有 n 個球,其中給 m 個球打上標記,設一次摸球摸到每乙個球的概率均等,求一次摸球摸到打標記的球的概率 但是她改了一下詢問方式 設最終的答案為 p 請輸出 p 小數點後 k1 到 k2 位的所有數字 若不足則用 0 補齊 第一行乙個整數 t,...