国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - Python decimal模塊使用方法詳解

Python decimal模塊使用方法詳解

2020-06-09 10:13wenbin_ouyang Python

這篇文章主要介紹了Python decimal模塊使用方法詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

decimal 模塊:decimal意思為十進制,這個模塊提供了十進制浮點運算支持

1.可以傳遞給Decimal整型或者字符串參數,但不能是浮點數據,因為浮點數據本身就不準確。

 

2.要從浮點數據轉換為Decimal類型

from decimal import *
Decimal.from_float(12.222)
# 結果為Decimal('12.2219999999999995310417943983338773250579833984375')

3.通過設定有效數字,限定結果樣式

from decimal import *
getcontext().prec = 6
Decimal(1)/Decimal(7)
# 結果為Decimal('0.142857'),六個有效數字

4.四舍五入,保留幾位小數

from decimal import *
Decimal('50.5679').quantize(Decimal('0.00'))
# 結果為Decimal('50.57'),結果四舍五入保留了兩位小數

5.Decimal 結果轉化為string

from decimal import *
str(Decimal('3.40').quantize(Decimal('0.0')))
# 結果為'3.4',字符串類型

Python3中decimal處理計算精度問題示例

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#!/usr/bin/python3
# coding:utf-8
import decimal
from decimal import Decimal, getcontext
 
def demo():
  """
  取整問題:
  ROUND_CEILING 總是趨向無窮大向上取整
  ROUND_DOWN 總是趨向0取整
  ROUND_FLOOR 總是趨向負無窮大向下取整
  ROUND_HALF_DOWN 如果最后一個有效數字大于或等于5則朝0反方向取整;否則,趨向0取整
  ROUND_HALF_EVEN 類似于ROUND_HALF_DOWN,不過,如果最后一個有效數字值為5,則會檢查前一位。
          偶數值會導致結果向下取整,奇數值導致結果向上取整
  ROUND_HALF_UP 類似于ROUND_HALF_DOWN,不過如果最后一位有效數字為5,值會朝0的反方向取整
  ROUND_UP 朝0的反方向取整
  ROUND_05UP 如果最后一位是0或5,則朝0的反方向取整;否則向0取整
  """
 
  # 1.常規計算
  getcontext().prec = 9
  r1 = Decimal(1) / Decimal(3)
  print("r1 ", r1) # r1 0.333333333
 
  # 2.但是getcontext().prec會包含小數點前面的所有長度,當前面長度有變化時并不能固定控制小數點后的位數
  r2 = Decimal(10) / Decimal(3)
  print("r2 ", r2) # r2 3.33333333
 
  # 3.想要固定控制小數點后面的位數則需要使用decimal.quantize(Decimal('0.00000000')),注意不能超過getcontext().prec的位數
  r3 = Decimal(1) / Decimal(3)
  print("r3 ", r3.quantize(Decimal('0.00000000'))) # r3 0.33333333
  r4 = Decimal(10) / Decimal(3)
  print("r4 ", r4.quantize(Decimal('0.00000000'))) # r4 3.33333333
  r5 = Decimal(10) / Decimal(str(1.5))
  print("r5 ", r5.quantize(Decimal('0.00000000'))) # r5 6.66666667
 
  # 4.向上取整
  getcontext().rounding = getattr(decimal, 'ROUND_CEILING') # 總是趨向無窮大向上取整
  r6 = Decimal(10) / Decimal(str(1.5)) # r6 6.66666667
  print("r6 ", r6.quantize(Decimal('0.00000000')))
  r7 = Decimal(10) / Decimal(3) # r7 3.33333334
  print("r7 ", r7.quantize(Decimal('0.00000000')))
 
  # 5.向下取整
  getcontext().rounding = getattr(decimal, 'ROUND_FLOOR') # 總是趨向無窮大向下取整
  r8 = Decimal(10) / Decimal(str(1.5)) # r8 6.66666666
  print("r8 ", r8.quantize(Decimal('0.00000000')))
  r9 = Decimal(10) / Decimal(3) # r9 3.33333333
  print("r9 ", r9.quantize(Decimal('0.00000000')))
 
if __name__ == '__main__':
  demo()

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:https://www.cnblogs.com/xy-ouyang/p/13040615.html

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 极品粉嫩饱满一线天在线 | 精品国产一区二区三区在线观看 | 91色乱码一区二区三区 | 欧美日韩精品免费 | 一级黄片毛片 | 一区二区三区四区电影 | 青青久久av北条麻妃黑人 | 免费黄色av| 欧美一区二区三区久久精品 | 国产日韩精品入口 | 中文av在线播放 | 一级片在线免费观看视频 | 亚洲精品视频免费观看 | 日日操av| 亚洲一区中文字幕在线观看 | 亚洲一区欧美 | 中文字幕免费在线观看视频 | 久久成人综合网 | 久久在线 | 亚洲一区二区在线 | 欧美成视频 | 三级视频在线 | 四虎影| 中文字幕在线观看1 | 极品一区 | 亚洲精品久久久久久下一站 | 国产精品网站在线观看 | 欧美国产一区二区 | 性刺激久久久久久久久九色 | 亚洲aⅴ天堂av在线电影软件 | 成年片 | 亚洲第一免费看片 | 国产在线精品一区 | 亚洲成年人网站在线观看 | 青青操av | 美女在线视频一区二区 | 超碰在线91 | 免费黄色网页 | 国产精品美女久久久久久免费 | 欧美韩日| 黄色小视频在线观看 |