第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何將浮點(diǎn)數(shù)四舍五入到小數(shù)點(diǎn)后一位?

如何將浮點(diǎn)數(shù)四舍五入到小數(shù)點(diǎn)后一位?

拉風(fēng)的咖菲貓 2019-10-18 10:32:19
假設(shè)我有8.8333333333333339,我想將其轉(zhuǎn)換為8.84。如何在Python中完成此操作?round(8.8333333333333339, 2)給與8.83不8.84。我是Python或一般編程的新手。我不想將其打印為字符串,結(jié)果將被進(jìn)一步使用。有關(guān)此問(wèn)題的更多信息,請(qǐng)檢查T(mén)im Wilson的Python編程技巧:貸款和付款計(jì)算器。
查看完整描述

3 回答

?
至尊寶的傳說(shuō)

TA貢獻(xiàn)1789條經(jīng)驗(yàn) 獲得超10個(gè)贊

8.833333333339(或8.833333333333334的結(jié)果106.00/12)正確舍入為小數(shù)點(diǎn)后兩位8.83。從數(shù)學(xué)上來(lái)說(shuō),這聽(tīng)起來(lái)像是您想要的天花板功能。Python math模塊中的一個(gè)名為ceil:


import math


v = 8.8333333333333339

print(math.ceil(v*100)/100)  # -> 8.84

地板和天花板函數(shù)通常分別將實(shí)數(shù)映射到小數(shù)位數(shù)為零的最大的前一個(gè)或最小的后整數(shù)–因此,將它們用于2個(gè)小數(shù)位,首先將數(shù)字乘以10 2(或100)即可將小數(shù)點(diǎn)后移點(diǎn),然后除以它以進(jìn)行補(bǔ)償。


如果math由于某種原因不想使用該模塊,則可以使用我剛剛編寫(xiě)的這個(gè)(經(jīng)過(guò)最低測(cè)試的)實(shí)現(xiàn):


def ceiling(x):

    n = int(x)

    return n if n-1 < x <= n else n+1

這如何適用于鏈接的貸款和付款計(jì)算器問(wèn)題

http://img1.sycdn.imooc.com//5da924500001e3e903640387.jpg

從樣本輸出中可以看出,他們對(duì)每月付款進(jìn)行了四舍五入,這就是許多人所說(shuō)的上限功能的效果。這意味著每個(gè)月略多于1 / 12的總量被支付。這樣一來(lái),末期付款就比平時(shí)少了一點(diǎn),因此剩余的未付余額僅為8.76。


使用正常的四舍五入產(chǎn)生每月付款8.83和稍高的最終付款同樣有效8.87。但是,在現(xiàn)實(shí)世界中,人們通常不希望增加自己的付款,因此對(duì)每筆付款進(jìn)行四舍五入是常見(jiàn)的做法-還會(huì)更快地將錢(qián)退還給貸方。


查看完整回答
反對(duì) 回復(fù) 2019-10-18
?
慕容3067478

TA貢獻(xiàn)1773條經(jīng)驗(yàn) 獲得超3個(gè)贊

這是正?,F(xiàn)象(與Python無(wú)關(guān)),因?yàn)?.83不能完全表示為二進(jìn)制浮點(diǎn)數(shù),就像1/3不能完全以十進(jìn)制表示(0.333333 ... ad infinitum)一樣。


如果要確保絕對(duì)精度,則需要以下decimal模塊:


>>> import decimal

>>> a = decimal.Decimal("8.833333333339")

>>> print(round(a,2))

8.83


查看完整回答
反對(duì) 回復(fù) 2019-10-18
?
HUWWW

TA貢獻(xiàn)1874條經(jīng)驗(yàn) 獲得超12個(gè)贊

您想使用十進(jìn)制模塊,但還需要指定舍入模式。這是一個(gè)例子:


>>> import decimal

>>> decimal.Decimal('8.333333').quantize(decimal.Decimal('.01'), rounding=decimal.ROUND_UP)

Decimal('8.34')

>>> decimal.Decimal('8.333333').quantize(decimal.Decimal('.01'), rounding=decimal.ROUND_DOWN)

Decimal('8.33')

>>> 


查看完整回答
反對(duì) 回復(fù) 2019-10-18
  • 3 回答
  • 0 關(guān)注
  • 855 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)