python實(shí)現(xiàn)四舍五入方式
python實(shí)現(xiàn)四舍五入
"""
四舍五入
:param
- dicmal:需要四舍五入的小數(shù)
- n:需要保留的位數(shù),默認(rèn)保留小數(shù)點(diǎn)后兩位
"""
def round_up(dicmal, n=2):
format_str = "%."+str(n)+"f"
return format_str % dicmal
上面的函數(shù)等價(jià)于
result = "%.2f" % Decimal
這種方法其實(shí)使用的是python的字符串格式化,但是當(dāng)Decimal為float類型的數(shù)據(jù)時(shí),會(huì)自動(dòng)進(jìn)行四舍五入。
另外,總感覺這種用法并不嚴(yán)謹(jǐn),可能在對(duì)某些特殊值進(jìn)行操作時(shí),會(huì)出現(xiàn)錯(cuò)誤,但目前還沒有發(fā)現(xiàn),如果有人發(fā)現(xiàn)問題,還望不吝指教。
python實(shí)現(xiàn)整數(shù)四舍五入
關(guān)于四舍五入的方法有很多種:從簡(jiǎn)單到復(fù)雜依次為:
第一個(gè)方法
是利用浮點(diǎn)數(shù)轉(zhuǎn)整數(shù),后面的小數(shù)會(huì)自動(dòng)刪除的原理,
讓小數(shù)去加0.5看能不能大于1.
num=float(input('輸入數(shù)值:'))
# 這個(gè)只能精確到后兩位,如果要更精準(zhǔn),小數(shù)后面多加幾個(gè)5就行了。
num+=0.55
num=int(num)
print(num)第二個(gè)方法
是用round函數(shù)來轉(zhuǎn)換,這個(gè)函數(shù)要小數(shù)位多一位才能進(jìn)行四舍五入。
a=float(input('輸入數(shù)值:'))
b=int(input("要保留幾位小數(shù):"))
a=round(a,b)
print(a)總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
python實(shí)現(xiàn)進(jìn)度條和系統(tǒng)通知的示例詳解
這篇文章主要和大家分享兩個(gè)有意思的Python小工具,可以優(yōu)雅地實(shí)現(xiàn)進(jìn)度條和系統(tǒng)通知,文中的示例代碼簡(jiǎn)潔易懂,有需要的小伙伴快也跟隨小編一起學(xué)習(xí)一下2023-11-11
Python辦公自動(dòng)化處理的10大場(chǎng)景應(yīng)用示例
這篇文章主要為大家介紹了Python辦公自動(dòng)化處理的10大場(chǎng)景應(yīng)用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06
Django如何防止定時(shí)任務(wù)并發(fā)淺析
這篇文章主要給大家介紹了關(guān)于Django如何防止定時(shí)任務(wù)并發(fā)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Django具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05
Python 用Redis簡(jiǎn)單實(shí)現(xiàn)分布式爬蟲的方法
本篇文章主要介紹了Python 用Redis簡(jiǎn)單實(shí)現(xiàn)分布式爬蟲的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-11-11
Python函數(shù)基礎(chǔ)實(shí)例詳解【函數(shù)嵌套,命名空間,函數(shù)對(duì)象,閉包函數(shù)等】
這篇文章主要介紹了Python函數(shù)基礎(chǔ),結(jié)合實(shí)例形式詳細(xì)分析了函數(shù)嵌套,命名空間,函數(shù)對(duì)象,閉包函數(shù)等相關(guān)概念、原理、用法及操作注意事項(xiàng),需要的朋友可以參考下2019-03-03

