python 高精度浮點數計算模組decimal

2022-04-03 00:56:24 字數 1507 閱讀 7762

1、簡單使用:保留三位小數

>>>decimal('

1.41421356

').quantize(decimal('

1.000'))

decimal(

'1.414

')

2、簡單使用:保留兩位小數

>>> from decimal import

decimal

>>> decimal('

0.125

').quantize(decimal('

0.00'))

decimal(

'0.12')

>>> decimal('

0.375

').quantize(decimal('

0.00'))

decimal(

'0.38

')

注意:為什麼0.125不是四捨五入。

3、檢視預設進製方式:預設進製方式為奇進偶舍

>>> from decimal import

getcontext

>>>getcontext().rounding

'round_half_even

'

4、設定進製方式為四捨五入

>>> from decimal import

decimal, round_half_up

>>> decimal('

0.375

').quantize(decimal('

0.00

'), rounding=round_half_up)

decimal(

'0.38')

>>> decimal('

0.125

').quantize(decimal('

0.00

'), rounding=round_half_up)

decimal(

'0.13

')

最後注意:可以傳遞給decimal整型或者字串引數,但不能是浮點資料,因為浮點資料本身就不準確。

from decimal import

decimal,round_half_up

a =11.245origin_num =decimal(str(a))

answer_num1 = origin_num.quantize(decimal('

0.00

'), rounding=round_half_up)

print

(answer_num1)

origin_num1 =decimal(a)

answer_num2 = origin_num1.quantize(decimal('

0.00

'), rounding=round_half_up)

print(answer_num2)

輸出:11.25

11.24

js高精度浮點數運算

貼 自定義高精度浮點數運算 物件格式寫法 var float calculator catch e m math.pow 10,math.max r1,r2 計算因子 return arg1 m arg2 m m minus function arg1,arg2 mul function arg1,...

PHP 浮點數高精度運算

記錄下,工作中遇到的坑 關於 php 浮點數運算,特別是金融行業 電子商務訂單管理 資料包表等相關業務,利用浮點數進行加減乘除時,稍不留神運算結果就會出現偏差,輕則損失幾十萬,重則會有信譽損失,甚至吃上官司,我們一定要引起高度重視!加 a 0.1 b 0.7 c intval a b 10 echo...

2951 浮點數求高精度冪

1.將浮點數,記錄小數點位置,並去除小數點變成整數 例如99.99 9999,小數點位置 2 2.使用快速冪演算法 計算整數的冪 void mul int a,int b memcpy a,c,sizeof c main 3.處理結果,將小數點放進去 無小數點 j 0 int count 0 記錄小...