0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

python小數(shù)數(shù)字對(duì)象Decimal

jf_78858299 ? 來(lái)源:梯閱線條 ? 作者:小梯子 ? 2023-03-10 10:04 ? 次閱讀

python的小數(shù)數(shù)字對(duì)象,類似于浮點(diǎn)數(shù),只不過(guò)小數(shù)數(shù)字有固定的位數(shù)和小數(shù)點(diǎn)。

python小數(shù)數(shù)字是有固定精度的浮點(diǎn)值。

python小數(shù)數(shù)字對(duì)象的性能略微低于浮點(diǎn)數(shù)。

python小數(shù)數(shù)字需使用decimal模塊。

python的decimal.getcontext().prec可以設(shè)置小數(shù)精度。

1.1 python小數(shù)基礎(chǔ)知識(shí)

python浮點(diǎn)數(shù)缺乏精確性,因?yàn)榇鎯?chǔ)數(shù)值的空間有限。

python小數(shù)對(duì)象可以修正浮點(diǎn)數(shù)的精確性問(wèn)題。

1.1.1 Decimal()

python不同小數(shù)位數(shù)的Decimal對(duì)象運(yùn)算時(shí),自動(dòng)升級(jí)為小數(shù)位數(shù)最多的小數(shù)位。

用法

Decimal(str)

描述

生成小數(shù)字符串對(duì)應(yīng)的Decimal對(duì)象。

入?yún)?/strong>

str:小數(shù)字符串

示例

>>> 0.1+0.1+0.1-0.3
5.551115123125783e-17
>>> print(0.1+0.1+0.1-0.3)
5.551115123125783e-17
>>> from decimal import Decimal
>>> Decimal('0.1')+Decimal('0.1')+Decimal('0.1')-Decimal('0.3')
Decimal('0.0')
>>> Decimal('0.10')+Decimal('0.1')+Decimal('0.1')-Decimal('0.3')
Decimal('0.00')

1.2 設(shè)置全局精度

python通過(guò)上下文對(duì)象(decimal.getcontext().prec)設(shè)置小數(shù)的全局精度。

示例

>>> import decimal
>>> decimal.Decimal(1)/decimal.Decimal(7)
Decimal('0.1428571428571428571428571429')
>>> decimal.getcontext().prec = 4
>>> decimal.Decimal(1)/decimal.Decimal(7)
Decimal('0.1429')

1.3 臨時(shí)設(shè)置精度

python通過(guò)本地上下文管理器(decimal. localcontext ().prec)設(shè)置小數(shù)的臨時(shí)精度。語(yǔ)句執(zhí)行完后,繼續(xù)使用初始精度。

示例

>>> import decimal
>>> decimal.Decimal('1.00')/decimal.Decimal('3.00')
Decimal('0.3333333333333333333333333333')
>>> with decimal.localcontext() as ctx:
...         ctx.prec = 2
...         decimal.Decimal('1.00')/decimal.Decimal('3.00')
...
... 
Decimal('0.33')
>>> decimal.Decimal('1.00')/decimal.Decimal('3.00')
Decimal('0.3333333333333333333333333333')
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 浮點(diǎn)數(shù)
    +關(guān)注

    關(guān)注

    0

    文章

    60

    瀏覽量

    15856
  • python
    +關(guān)注

    關(guān)注

    55

    文章

    4767

    瀏覽量

    84376
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Python的面向對(duì)象編程詳解

    一般編程可分為面向過(guò)程編程,和面向對(duì)象編程。Python的面向對(duì)象編程,與Java的面向對(duì)象很像。之所以需要面向對(duì)象編程,是為了更好地實(shí)現(xiàn)封
    發(fā)表于 09-04 16:35 ?501次閱讀
    <b class='flag-5'>Python</b>的面向<b class='flag-5'>對(duì)象</b>編程詳解

    VHDL 怎么定義整數(shù)數(shù)組和小數(shù)數(shù)組啊

    比如簡(jiǎn)單的以為數(shù)組我想定義成(3,13,22,3,4,5)這種,怎么定義成二維(1,3,4;2,5,4)同上一維小數(shù)數(shù)組怎么定義,二維小數(shù)數(shù)組怎么定義樓主新手,發(fā)現(xiàn)給的一維和二維例程都是邏輯的0和1 ,非??鄲?/div>
    發(fā)表于 05-14 16:24

    Python中常用的數(shù)據(jù)類型

    ~9223372036854775807。long(長(zhǎng)整型)Python長(zhǎng)整型沒(méi)有指定位寬,但是由于機(jī)器內(nèi)存有限,使用長(zhǎng)的長(zhǎng)整數(shù)數(shù)值也不可能無(wú)限大。float(浮點(diǎn)型)浮點(diǎn)型也就是帶有小數(shù)點(diǎn)的數(shù),其
    發(fā)表于 04-19 15:14

    3分鐘看懂Python面向對(duì)象

    Python雖然是解釋型語(yǔ)言,但從設(shè)計(jì)之初就已經(jīng)是一門面向對(duì)象的語(yǔ)言,對(duì)于Python來(lái)說(shuō)一切皆為對(duì)象。正因?yàn)槿绱?,?b class='flag-5'>Python中創(chuàng)建一個(gè)
    發(fā)表于 06-08 14:20

    總結(jié):一文了解Python中的數(shù)字類型

    支持三種不同的數(shù)字類型,整數(shù)、浮點(diǎn)數(shù)和復(fù)數(shù)。 整數(shù)通常被稱為整型,數(shù)值為正或者負(fù),不帶小數(shù)點(diǎn)。python 3的整型可以當(dāng)做Long類型使用,所以python 3 沒(méi)有
    發(fā)表于 09-26 16:49

    詳談Python的數(shù)據(jù)模型和對(duì)象模型

    Python官方文檔說(shuō)法是“Python數(shù)據(jù)模型”,大多數(shù)Python書籍作者說(shuō)法是“Python對(duì)象模型”,它們是一個(gè)意思,表示“計(jì)算機(jī)編
    的頭像 發(fā)表于 02-10 15:59 ?2512次閱讀
    詳談<b class='flag-5'>Python</b>的數(shù)據(jù)模型和<b class='flag-5'>對(duì)象</b>模型

    python二八十六進(jìn)制整數(shù)轉(zhuǎn)換

    python的整數(shù)數(shù)字可以用二、八、十六不同進(jìn)制表示,它們可以和十進(jìn)制相互轉(zhuǎn)換。python數(shù)字可以進(jìn)行位操作。
    的頭像 發(fā)表于 03-10 09:59 ?1353次閱讀

    Python中的類和對(duì)象詳解

    Python 是一種面向對(duì)象的編程語(yǔ)言,它支持類和對(duì)象。類是一種用戶自定義的數(shù)據(jù)類型,用于定義對(duì)象的屬性和方法。對(duì)象是類的實(shí)例,它包含類的屬
    的頭像 發(fā)表于 04-20 16:53 ?1040次閱讀

    使用Teachable Machine和Python輕松進(jìn)行對(duì)象檢測(cè)

    電子發(fā)燒友網(wǎng)站提供《使用Teachable Machine和Python輕松進(jìn)行對(duì)象檢測(cè).zip》資料免費(fèi)下載
    發(fā)表于 06-27 09:26 ?0次下載
    使用Teachable Machine和<b class='flag-5'>Python</b>輕松進(jìn)行<b class='flag-5'>對(duì)象</b>檢測(cè)

    python如何保留一位小數(shù)

    本文將詳細(xì)介紹Python中保留一位小數(shù)的方法。我們將探討浮點(diǎn)數(shù)的基本概念,并提供多種方法來(lái)實(shí)現(xiàn)精確的小數(shù)保留。無(wú)論是使用內(nèi)置函數(shù)還是第三方庫(kù),我們將詳細(xì)解釋它們的原理和用法。希望通過(guò)閱讀本文,您將
    的頭像 發(fā)表于 11-23 16:37 ?1850次閱讀

    mysql中decimal的用法

    MySQL中的DECIMAL是用于存儲(chǔ)精確數(shù)值的數(shù)據(jù)類型。DECIMAL可以存儲(chǔ)固定精度和小數(shù)位數(shù)的值。在MySQL中,DECIMAL數(shù)據(jù)類型有兩個(gè)參數(shù):精度和
    的頭像 發(fā)表于 11-30 10:45 ?998次閱讀

    decimal類型怎么插數(shù)

    DecimalPython中的一個(gè)內(nèi)置模塊,用于處理浮點(diǎn)數(shù)操作,它提供了更高精度和更精確的結(jié)果。在Python中,我們可以使用Decimal類型來(lái)插入和處理
    的頭像 發(fā)表于 11-30 10:49 ?505次閱讀

    decimal類型怎么定義

    decimal類型是一種用于表示十進(jìn)制數(shù)的數(shù)據(jù)類型。與浮點(diǎn)數(shù)類型不同,decimal類型提供了更高的精確度,對(duì)于需要精確計(jì)算的場(chǎng)景非常有用。在很多編程語(yǔ)言中,如C#、Java和Python,都支持
    的頭像 發(fā)表于 11-30 10:52 ?1374次閱讀

    數(shù)據(jù)庫(kù)中decimal是什么類型

    數(shù)據(jù)庫(kù)中decimal是一種用于存儲(chǔ)精確小數(shù)的數(shù)據(jù)類型。在數(shù)據(jù)庫(kù)中,decimal常用于存儲(chǔ)貨幣金額、科學(xué)計(jì)算和需要精確計(jì)算的場(chǎng)景。本文將詳盡、詳實(shí)、細(xì)致地探討decimal的定義、存
    的頭像 發(fā)表于 11-30 11:02 ?5440次閱讀

    數(shù)據(jù)庫(kù)decimal對(duì)應(yīng)java什么類型

    、貨幣計(jì)算以及其他需要高精度計(jì)算的場(chǎng)景下, BigDecimal 是一個(gè)非常重要的數(shù)據(jù)類型。 在數(shù)據(jù)庫(kù)中, decimal 類型通常用于存儲(chǔ)具有固定精度和小數(shù)位數(shù)的數(shù)值。與其他基本的數(shù)值類型(如整型
    的頭像 發(fā)表于 11-30 11:06 ?3680次閱讀