2012-01-12 55 views
2

我可以獲得PI的第N位數字的最大N是多少?Java的Math.PI的價值有多精確?

+1

你在問浮點表示嗎?如果是這樣,那麼在Java參考手冊或Wikipedia中定義浮點有什麼問題? – 2012-01-12 15:46:37

+1

你在問PI的定義有多遠?來源:public static final double PI = 3.14159265358979323846; – 2012-01-12 15:47:58

+0

它和任何雙精度一樣精確。 – 2012-01-12 15:50:03

回答

6

public static final double PI = 3.141592653589793d

所以N = 16

這就是API說這裏:http://docs.oracle.com/javase/6/docs/api/constant-values.html#java.lang.Math.PI


BU牛逼確實Math.class的源代碼說

public static final double PI = 3.14159265358979323846;

這裏N = 21


無論如何 - 這是一個有點怪異;)

+3

IEEE 754 64位double的精度約爲16位,這正好是'3.141592653589793d' – 2012-01-12 16:09:13

+0

@Mark中的位數,我同意。 – dantuch 2012-01-12 16:17:38

+3

沒有什麼奇怪的。這只是表示輸入了21位數字。這並不意味着21位數字可以準確存儲在數字中,你是否將該值寫回。 – 2012-01-12 17:23:48

5

這是寫在源代碼:

/** 
* The {@code double} value that is closer than any other to 
* <i>pi</i>, the ratio of the circumference of a circle to its 
* diameter. 
*/ 
public static final double PI = 3.14159265358979323846; 
2

javadocs

public static final double PI 3.141592653589793d 
彷彿它定義了15位小數出現

。有關this post這個主題的更多討論。

0

在源代碼:

/** 
* The {@code double} value that is closer than any other to 
* <i>pi</i>, the ratio of the circumference of a circle to its 
* diameter. 
*/ 
public static final double PI = 3.14159265358979323846; 
-1

Pi的Java的常數是近似值。 Pi的精確值在大多數計算中並不重要。