2013-10-15 91 views
1

我構建了一個簡單的Android「加速計」傳感器應用程序。將浮點數轉換爲整數

這是Java Code link

輸出是這樣的:

X:8.87654322 Y:0.564321 Z:4.0195783

有時它會更長......

我想浮動轉換爲整數或者只是有2個數字

(我是初學者在Java)
感謝

+1

你的目標是什麼? –

+0

'我想轉換爲整數或只有2個數字'你的意思是2個小數點?如果是這樣,你想要的是整數還是2位小數? – Cruncher

+0

'int x =(int)8.8f;' – Blundell

回答

0
double y = 9.37923929732232; 
int a = (int)y; 
+0

我有一個預感,他會而不是截斷整數int – Cruncher

-1

爲了得到兩位小數使用(java.text.DecimalFormat:

你可以試試這個

double roundTwoDecimals(double d) { 
    DecimalFormat twoDForm = new DecimalFormat("#.##"); 
    return Double.valueOf(twoDForm.format(d)); 
} 

對於整數有在後答案。

+0

爲什麼它被低估? –

+0

感謝您的幫助。 – fares

0
double d = 4.232 
int answer = (int) Math.round(d); 
0

我想你想的float數組值轉換加速下面爲int的是浮動陣列有兩個浮點值我使用Math.round(arrayName中只是四捨五入OTH指數的float元素的值indexnumber ])

float[] fArray = new float[] {(float) 6574.748, (float) 789.999}; 

    int f1 = Math.round(fArray[0]); 
    System.out.println(f1); 

這將四捨五入爲前6574.748浮點值將四捨五入到6575

+0

感謝您的幫助。 – fares

0

要轉換浮動傳感器數據爲整數,你必須mutiply它們,然後圓。

例如,你想要逗號後的1位數字。 0.56432 - > 6

double y = 0.564321; 
int yi = (int) Math.Round(y * 10); // for taking 2 digits after comma use 100 

然後你就有方便的加速度傳感器數據。

+0

我只是想要一個整數,但我不知道如何使用它與我的Java代碼,謝謝 – fares