Python中的除法保留兩位小數__Python

來源:互聯網
上載者:User

在C/C++語言對於整形數執行除法會進行地板除(捨去小數部分)。例如 int a=15/10; a的結果為1。

同樣的在Java中也是如此,所以兩個int型的資料相除需要返回一個浮點型資料的時候就需要強制類型轉換,例如 float a = (float)b/c ,其中b、c都是int型資料。

Python中分為3種除法:傳統除法、精確除法、地板除。

傳統除法

如果是整數除法則執行地板除,如果是浮點數除法則執行精確除法

    >>>1/2      0      >>>1.0/2.0      0.5  

精確除法

除法總是會返回真實的商,不管運算元是整形還是浮點型。執行from future import division 指令就可以做到這一點。

# -*- coding: UTF-8 -*-from __future__ import divisionfrom __future__ import print_functionfrom __future__ import unicode_literals>>>1/2  0.5  >>>1.0/2.0  0.5  

地板除

從Python2.2開始,增加了一個操作符 // ,以執行地板除://除法不管運算元為何種數實值型別,總是會捨去小數部分,返回數字序列中比真正的商小的最接近的數字。

    >>>1//2      0      >>>1.0//2      0      >>>-1//2.0      -1  

內建函數divmod()

divmod (a,b),返回(a//b,a%b)

    >>>divmod(1,2)      (0,1)      >>>divmod(3.14159,1.5)      (2.0,0.4159000000000002)      >>>5+6j//3+2j      2+0j      >>>5+6j%3+2j      -1+2j      >>>divmod(5+6j,3+2j)      ((2+0j),(-1+2j))  

保留兩位小數

In [1]: a = 5.026In [2]: b = 5.000In [3]: round(a,2)Out[3]: 5.03In [4]: round(b,2)Out[4]: 5.0In [5]: '%.2f' % aOut[5]: '5.03'In [6]: '%.2f' % bOut[6]: '5.00'In [7]: float('%.2f' % a)Out[7]: 5.03In [8]: float('%.2f' % b)Out[8]: 5.0In [9]: from decimal import DecimalIn [10]: Decimal('5.026').quantize(Decimal('0.00'))Out[10]: Decimal('5.03')In [11]: Decimal('5.000').quantize(Decimal('0.00'))Out[11]: Decimal('5.00')

當需要輸出的結果要求有兩位小數的時候,字串形式的:’%.2f’ % a 方式最好,其次用Decimal

round(a,2)'%.2f' % aDecimal('5.000').quantize(Decimal('0.00'))
a = 1b = 3print(a/b)#方法一:print(round(a/b,2))#方法二:print(format(float(a)/float(b),'.2f'))#方法三:print ('%.2f' %(a/b))

參考文獻

Python中的除法
python保留兩位小數

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.