2016-09-04 57 views

回答

3

實際PI值可達幾個數字超過float32精度(從here

`3.14159265358979323846264338327950288...` 

float32精度具有6至9位小數的精度(從here

3.1 4 1 5 9 2 7 4 1 0125732 # your value 
3.1 4 1 5 9 2 6 5 3 5897 # actual value 
--1 2 3 4 5 6 7 8 9 # (index of decimal place) 

作爲你可以看到小數點後第七位的真實值的偏差。所以這就是爲什麼它不是正確的原因

+2

你也可以用'np.finfo('float32')' – ayhan

+0

檢查分辨率如果你想更精確的嘗試'np.cast ['d'](np。 pi)',它會投射float64 – BPL

+0

...或'np.cast ['f8'](np.pi)'獲得雙精度(即'np.float64')。 ''f''相當於''f4'。 –