導航:首頁 > 編程語言 > pythonquantize

pythonquantize

發布時間:2022-11-20 09:54:55

A. 如何在python中保留小數

f = lambda x, n: round(x, n - len(str(int(x))));

定義了一個方法f,用來實現你所說的功能。

輸入:

f(123.456789, 8)

輸出:

123.45678

輸入:

f(1.23456789, 8)

輸出:

1.2345679000000001

f接收2個參數,第一個參數是要求有效位數的數字,第二個參數是設置有效位數。第二次輸出中的數字不夠准確,這跟python處理小數的方式有關,如果想要准確的數字可以使用python decimal類。或者用python3k

(1)pythonquantize擴展閱讀

#include<stdio.h>

#defineC"CProgramming"

intmain(void)

{

inta=12345;

floatb=5.12345678;

chare,d,f;

scanf("%c%c%c",&e,&d,&f);

printf("intis:%d ",a);

printf("floatis:%f ",b);

printf("charis:%s ",C);

return0;

}

1,對於浮點數

a=1.36852

a=round(a,2)

print a

#結果1.36

2,對於整數

from decimal import Decimal

a=1

a=Decimal(a).quantize(Decimal('0.00'))

print a

#結果1.00

3,通用方法

a=1

a=("%.2f" % a)

print a

#結果1.00

B. python怎麼控制小數點位數比如float類型a=1.23456789,我想把a轉化為a=1.2345的形式,這個怎麼轉化呀

可以使用decimal模塊,decimal意思為十進制,這個模塊提供了十進制浮點運算支持。

常用方法

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

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

from decimal import *

Decimal.from_float(12.222)

# 結果為Decimal('12.')

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.40',字元串類型

(2)pythonquantize擴展閱讀:

Python提供了decimal模塊用於十進制數學計算,它具有以下特點:

提供十進制數據類型,並且存儲為十進制數序列;

有界精度:用於存儲數字的位數是固定的,可以通過decimal.getcontext().prec=x 來設定,不同的數字可以有不同的精度

浮點:十進制小數點的位置不固定(但位數是固定的)

參考資料:

Python-網路

C. python輸出怎麼保留兩位小數

python輸出保留兩位小數的四種方法:
a = 5.5461
方法一:round(a,2)
方法二:float('%.2f' % a)
相關推薦:《Python視頻教程》
方法三:『%.2』 %a
方法四:
from decimal import Decimal
Decimal('5.026').quantize(Decimal('0.00'))
當需要輸出的結果要求有兩位小數的時候,字元串形式的:'%.2f' % a 方式最好,其次用Decimal。
需要注意的:
1. 可以傳遞給Decimal整型或者字元串參數,但不能是浮點數據,因為浮點數據本身就不準確。
2. Decimal還可以用來限定數據的總位數。以上就是小編分享的關於python輸出怎麼保留兩位小數的詳細內容希望對大家有所幫助,更多有關python教程請關注環球青藤其它相關文章!

D. Python 為什麼不解決四捨五入的「bug」

四捨五入是基於十進制的,在二進制無法精確表示的時候是會有誤差的。
任何需要十進制運算的地方,都需要用 decimal.Decimal 取代 float:

>>> Decimal(1.45)
Decimal('1.')
>>> Decimal('1.45')
Decimal('1.45')
>>> Context(prec=2, rounding=ROUND_HALF_UP).create_decimal('1.45')
Decimal('1.5')
>>> Decimal('1.45').normalize(Context(prec=2, rounding=ROUND_HALF_UP))
Decimal('1.5')
>>> Decimal(Decimal('1.45').quantize(Decimal('.1'), rounding=ROUND_HALF_UP))
Decimal('1.5')

不過使用十進制運算的代價就是慢,所以各取所需吧。

E. python 小數位數不同,為什麼decimal四捨五入結果不一致

float('{:.2f}'.format(price_t))
這樣只是取兩位小數並沒有四捨五入
四捨五入有一個專門的函數round,下面是正確的用法
round(float(price_t), 2)

F. python模塊導入問題

我的沒問題啊。我用的是Anaconda3(python3.6.1),安裝tensorflow後有這個模塊。
建議你重新安裝tensorflow,安裝方式:
pip install -i https://mirrors.aliyun.com/pypi/simple/ tensorflow

G. python中保留兩位小數怎麼表示

這里有三種方法,
round(a,2)'%.2f' % aDecimal('5.000').quantize(Decimal('0.00'))
當需要輸出的結果要求有兩位小數的時候,字元串形式的:'%.2f' % a 方式最好,其次用Decimal。
需要注意的:
1. 可以傳遞給Decimal整型或者字元串參數,但不能是浮點數據,因為浮點數據本身就不準確。
2. Decimal還可以用來限定數據的總位數。
談談關於Python裡面小數點精度控制的問題
基礎
浮點數是用機器上浮點數的本機雙精度(64 bit)表示的。提供大約17位的精度和范圍從-308到308的指數。和C語言裡面的double類型相同。Python不支持32bit的單精度浮點數。如果程序需要精確控制區間和數字精度,可以考慮使用numpy擴展庫。

Python 3.X對於浮點數默認的是提供17位數字的精度。

關於單精度和雙精度的通俗解釋:
單精度型和雙精度型,其類型說明符為float 單精度說明符,double 雙精度說明符。在Turbo C中單精度型佔4個位元組(32位)內存空間,其數值范圍為3.4E-38~3.4E+38,只能提供七位有效數字。雙精度型佔8 個位元組(64位)內存空間,其數值范圍為1.7E-308~1.7E+308,可提供16位有效數字。
相關教程推薦:Python視頻教程以上就是小編分享的關於python中保留兩位小數怎麼表示的詳細內容希望對大家有所幫助,更多有關python教程請關注環球青藤其它相關文章!

H. python保留一位小數怎麼表示

方法1:用round函數
a=12.34567889
round(a,1)=12.3
#保留一位小數
方法2:格式化輸入
a=12.34567889
print(「%.1f」%a)
#保留一位小數
方法3:引入decimal函數
from decimal import Decimal
a=134.5657768
t=Decimal(「134.5657768」).quantize(Decimal(「0.0」))
print(t)
#輸出結果:1134.5

I. python quantize result has too many digits for current context怎麼回事

這只是一個猜測,但我敢打賭,你需要把小數點在那裡:

WORK_HOUR_CHOICES = (
(Decimal("0"), '0'),
(Decimal("0.5"), '0.5'),
(Decimal("1"), '1'),
(Decimal("1.5"), '1.5'),
(Decimal("2"), '2'),
(Decimal("2.5"), '2.5')
)

你不能初始化一個小數與浮恆,你必須使用一個字元串。

>>> from decimal import Decimal
>>> Decimal(1.5)
Traceback (most recent call last):
File "<stdin>", line 1, in <mole>
File "C:\software\Python25\lib\decimal.py", line 578, in __new__
"First convert the float to a string")
TypeError: Cannot convert float to Decimal. First convert the float to a string
>>> Decimal("1.5")
Decimal("1.5")

J. python編程這個怎麼弄

分段函數的代碼用python實現如下:
x=eval(input('輸入x的值:'))
if x!=0:
y=1/(2*x-1)
else:
y=0
print(y)

閱讀全文

與pythonquantize相關的資料

熱點內容
安卓手機的表格里怎麼打勾 瀏覽:405
阿里雲伺服器有網路安全服務嗎 瀏覽:964
超解壓兔子視頻 瀏覽:20
單片機怎麼測負脈沖 瀏覽:170
魅族備份的app在哪裡 瀏覽:736
java倒三角列印 瀏覽:112
通達信回封板主圖源碼 瀏覽:44
戰地什麼伺服器 瀏覽:299
安卓為什麼老是閃退怎麼辦 瀏覽:803
樂高機器人的編程軟體下載 瀏覽:223
工作中怎麼使用加密狗 瀏覽:735
雲伺服器的後台找不到 瀏覽:98
php逐行寫入文件 瀏覽:912
javaoracleweb 瀏覽:440
京東加密碼怎麼弄 瀏覽:467
單片機程序員培訓 瀏覽:992
PHP商城源代碼csdn 瀏覽:636
怎麼把電腦里文件夾挪出來 瀏覽:693
java流程處理 瀏覽:685
ftp創建本地文件夾 瀏覽:660