導航:首頁 > 編程語言 > Python編寫小數後第n位小數

Python編寫小數後第n位小數

發布時間:2022-11-03 08:17:26

python 保留小數位數的問題

i=1.23456
round(i,2)可以把i四捨五入保留二位小數

㈡ python 輸入正整數pqn,計算p/q的值,精確到小數位n位,控制n使得p/q的值可以達

def test(p, q, n):
return('{a:.{b}f}'.format(a = p/q, b = n))

㈢ python種如何輸出指定位小數

方法一:round(X, N)
該方法並不嚴格有效,當X小數位數n<N時,僅能夠輸出n位小數。
方法二:print('%.Nf'%X)或者print("%.Nf"%X)
注意該方法有兩個「%」,沒有「,」。
方法三:print(format(X, '.Nf')或者print(format(X,".Nf")
注意該方法沒有"%",但有「,」。
更多Python相關技術文章,請訪問Python教程欄目進行學習!以上就是小編分享的關於python種如何輸出指定位小數的詳細內容希望對大家有所幫助,更多有關python教程請關注環球青藤其它相關文章!

㈣ python如何輸出小數點後兩位

number=4.05
print(float(number))

㈤ python輸出小數點後兩位

格式化輸出,%.2f %變數名

㈥ 如何在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

(6)Python編寫小數後第n位小數擴展閱讀

#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

㈦ python精確到小數點後第6位

python精確到小數點後第6位
>>> a = 5.689656565
>>> print(round(a,6))
5.689657
>>>

㈧ 求用python計算圓周率小數點後10萬位的最快演算法 ,最好有代碼,謝謝

#-*-coding:gbk-*-
from__future__importdivision
####################導入時間模塊
importtime
###############計算當前時間
time1=time.time()
################演算法根據馬青公式計算圓周率####################
number=int(raw_input('請輸入想要計算到小數點後的位數n:'))
#多計算10位,防止尾數取捨的影響
number1=number+10
#算到小數點後number1位
b=10**number1
#求含4/5的首項
x1=b*4//5
#求含1/239的首項
x2=b//-239
#求第一大項
he=x1+x2
#設置下面循環的終點,即共計算n項
number*=2
#循環初值=3,末值2n,步長=2
foriinxrange(3,number,2):
#求每個含1/5的項及符號
x1//=-25
#求每個含1/239的項及符號
x2//=-57121
#求兩項之和
x=(x1+x2)//i
#求總和
he+=x
#求出π
pai=he*4
#舍掉後十位
pai//=10**10
############輸出圓周率π的值
paistring=str(pai)
result=paistring[0]+str('.')+paistring[1:len(paistring)]
printresult
time2=time.time()
printu'總共耗時:'+str(time2-time1)+'s'
python
pi.py

㈨ Python:編寫程序,輸入一個小數,計算小數點左、右各有幾個數字。

a = float(input())
a = str(int(a)) + '.' if(int(a) == a) else str(a)
strs = a.split('.')
count = [len(x) for x in strs ]
print(count)
這個默認是,有效位的個數, 也就是小數點左邊至少有個0, 小數點後最右的0串不計算.

㈩ python 如何控制輸出的小數長度

Python裡面小數點長度精度控制方法:

一、要求較小的精度

將精度高的浮點數轉換成精度低的浮點數。

1.round()內置方法

這個是使用最多的,剛看了round()的使用解釋,也不是很容易懂。round()不是簡單的四捨五入的處理方式。

For the built-in types supporting round(), values are rounded to the
closest multiple of 10 to the power minus ndigits; if two multiples are equally
close, rounding is done toward the even choice (so, for example, both round(0.5)
and round(-0.5) are 0, and round(1.5) is 2).

>>> round(2.5)

2

>>> round(1.5)

2

>>> round(2.675)

3

>>> round(2.675, 2)

2.67

round()如果只有一個數作為參數,不指定位數的時候,返回的是一個整數,而且是最靠近的整數(這點上類似四捨五入)。但是當出現.5的時候,兩邊的距離都一樣,round()取靠近的偶數,這就是為什麼round(2.5)
=
2。當指定取捨的小數點位數的時候,一般情況也是使用四捨五入的規則,但是碰到.5的這樣情況,如果要取捨的位數前的小樹是奇數,則直接舍棄,如果偶數這向上取捨。看下面的示例:

>>> round(2.635, 2)

2.63

>>> round(2.645, 2)

2.65

>>> round(2.655, 2)

2.65

>>> round(2.665, 2)

2.67

>>> round(2.675, 2)

2.67

2. 使用格式化

效果和round()是一樣的。

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

>>> a

'2.63'

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

>>> a

'2.65'

>>> a = int(2.5)

>>> a

2

二、要求超過17位的精度分析

python默認的是17位小數的精度,但是這里有一個問題,就是當我們的計算需要使用更高的精度(超過17位小數)的時候該怎麼做呢?

1. 使用格式化(不推薦)

>>> a = "%.30f" % (1/3)

>>> a

'0.'

可以顯示,但是不準確,後面的數字往往沒有意義。

2. 高精度使用decimal模塊,配合getcontext

>>> from decimal import *

>>> print(getcontext())

Context(prec=28, rounding=ROUND_HALF_EVEN, Emin=-999999, Emax=999999,
capitals=1, clamp=0, flags=[], traps=[InvalidOperation, DivisionByZero,
Overflow])

>>> getcontext().prec = 50

>>> b = Decimal(1)/Decimal(3)

>>> b

Decimal('0.')

>>> c = Decimal(1)/Decimal(17)

>>> c

Decimal('0.')

>>> float(c)

0.058823529411764705

默認的context的精度是28位,可以設置為50位甚至更高,都可以。這樣在分析復雜的浮點數的時候,可以有更高的自己可以控制的精度。其實可以留意下context裡面的這rounding=ROUND_HALF_EVEN
參數。ROUND_HALF_EVEN, 當half的時候,靠近even.

三、關於小數和取整

既然說到小數,就必然要說到整數。一般取整會用到這些函數:

1. round()

這個不說了,前面已經講過了。一定要注意它不是簡單的四捨五入,而是ROUND_HALF_EVEN的策略。

2. math模塊的ceil(x)

取大於或者等於x的最小整數。

3. math模塊的floor(x)

去小於或者等於x的最大整數。

>>> from math import ceil, floor

>>> round(2.5)

2

>>> ceil(2.5)

3

>>> floor(2.5)

2

>>> round(2.3)

2

>>> ceil(2.3)

3

>>> floor(2.3)

2

>>>

閱讀全文

與Python編寫小數後第n位小數相關的資料

熱點內容
五菱宏光空調壓縮機 瀏覽:64
為什麼app佔用幾百兆 瀏覽:676
自動解壓失敗叫我聯系客服 瀏覽:482
易語言新手源碼 瀏覽:456
oa伺服器必須有固定ip地址 瀏覽:42
傳奇源碼分析是什麼 瀏覽:267
解放壓縮機支架 瀏覽:255
程序員禿頂搞笑相遇 瀏覽:6
IBM手機app商店叫什麼名字 瀏覽:834
jpeg壓縮質量 瀏覽:774
雲伺服器評測對比 瀏覽:145
java日期轉string 瀏覽:221
openfire源碼編譯 瀏覽:897
在線小工具箱引流網站源碼 瀏覽:337
非科班程序員自學 瀏覽:801
壓縮泡沫鞋底底材 瀏覽:219
程序員職場第一課2正確的溝通 瀏覽:679
遇到不合法app應該怎麼辦 瀏覽:91
匯編程序編譯後的文件 瀏覽:80
大智慧均線源碼 瀏覽:374