1

I built a simple Android "accelerometer" Sensor Application.

This is The Java Code link.

The output is like this:

X:8.87654322 Y:0.564321 Z:4.0195783

And sometimes it goes longer ...

I want to convert the float to an integer or just have 2 numbers

(I'm a beginner In Java.)
Thanks

4

5 回答 5

0

我想你想将加速度计的浮点数组值转换为 int 下面是具有两个浮点值的浮点数组我只是使用 Math.round(arrayname[indexnumber]) 将其他索引的浮点元素的值四舍五入

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

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

这将四舍五入前 6574.748 的浮点值将四舍五入为 6575

于 2013-10-15T20:20:53.530 回答
0
double y = 9.37923929732232;
int a = (int)y;
于 2013-10-15T19:48:09.163 回答
0
double d = 4.232
int answer = (int) Math.round(d);
于 2013-10-15T19:48:41.897 回答
0

要将浮点传感器数据转换为整数,您必须将它们相乘,然后四舍五入。

例如,您想要逗号后的 1 位数字。0.56432 -> 6

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

然后你就有了方便的加速度传感器数据。

于 2013-10-15T20:35:34.623 回答
-1

要获得两位小数,请使用 ( java.text.DecimalFormat: )

你可以试试这个

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

对于整数,帖子中有其他答案。

于 2013-10-15T19:48:17.130 回答