2014-12-27 61 views
0
int a = 91000; 
int b = Math.pow(100,2); 
float ans = (float) a/b; 
ans=9.1 

小數點我想小數點後的輸出正確的6位數字,即顯示在Java

ans =9.100000 

我怎樣才能做到這一點在Java中?

+0

6位數字,不要使用'float'如果您關心的精度。 「雙」的準確度要高出萬億倍。也不要使用Math.pow進行簡單的操作,比如平方,它很昂貴且相對不準確。 –

回答

1

你可以使用printf的方法:

System.out.printf("%.6f", val); 

的%.6f語法告訴Java來與6位小數

回報您的變量浮點數
0

您可以使用doubleformatted output。喜歡的東西,

int a = 91000; 
double b = Math.pow((double) 100, 2); 
double ans = a/b; 
System.out.printf("%.6f%n", ans); 

輸出是

9.100000 
+0

你不需要在這裏將'100'強制轉換爲'double'。 –

1

您CA使用DecimanlFormat

ans=9.1 
System.out.println(new DecimalFormat("#0.000000").format(ans)); 

輸出:

9.100000 

更多在DecimalFormat訪問this鏈接。

0

您可以使用String.format來定義您喜歡的輸出,例如

String.format("Range = %.6f", range) 

顯示小數點後6位。

0

最簡單的辦法是寫類似

int a = 91000 
System.out.println(a/1e4); // there is only 4 decimal places possible 

還是要強制其精度

System.out.printf("%,6f%n", a/1e4);