我构建了一个简单的Android“加速计”传感器应用程序。
输出如下:
X:8.87654322 Y:0.564321 Z:4.0195783
有时它会更长......
我想将float转换为整数或只有2个数字
(我是Java的初学者。)
谢谢
答案 0 :(得分:0)
double y = 9.37923929732232;
int a = (int)y;
答案 1 :(得分:0)
double d = 4.232
int answer = (int) Math.round(d);
答案 2 :(得分:0)
我认为你想将加速度计的float数组值转换为int以下是具有两个浮点值的float数组我只是使用Math.round(arrayname [indexnumber])来舍入其索引的float元素的值
float[] fArray = new float[] {(float) 6574.748, (float) 789.999};
int f1 = Math.round(fArray[0]);
System.out.println(f1);
这将舍入ex 6574.748的浮点值将四舍五入为6575
答案 3 :(得分:0)
要将浮动传感器数据转换为整数,您必须将它们多次转换,然后进行舍入。
例如,您想要逗号后的1位数。 0.56432 - > 6
double y = 0.564321;
int yi = (int) Math.Round(y * 10); // for taking 2 digits after comma use 100
然后你有方便的加速度传感器数据。
答案 4 :(得分:-1)
要获得两位小数,请使用(java.text.DecimalFormat:)
你可以试试这个
double roundTwoDecimals(double d) {
DecimalFormat twoDForm = new DecimalFormat("#.##");
return Double.valueOf(twoDForm.format(d));
}
对于整数,帖子中还有其他答案。