我使用的是eclipse + Android SDK。
我需要将一个浮点值四舍五入为2个小数。我通常使用数学库的下一个“技巧”。
float accelerometerX = accelerometerX * 100;
accelerometerX = round(accelerometerX);
Log.d("Test","" + accelerometerX/100);
但我觉得这不是最好的方法。
有没有一个库来做这些类型的操作?
发布于 2012-01-18 22:01:59
double roundTwoDecimals(double d) {
DecimalFormat twoDForm = new DecimalFormat("#.##");
return Double.valueOf(twoDForm.format(d));
}
发布于 2015-06-19 11:23:03
与@Jav_Rock相比,下面是一个更短的实现
/**
* Round to certain number of decimals
*
* @param d
* @param decimalPlace the numbers of decimals
* @return
*/
public static float round(float d, int decimalPlace) {
return BigDecimal.valueOf(d).setScale(decimalPlace,BigDecimal.ROUND_HALF_UP).floatValue();
}
System.out.println(round(2.345f,2));//two decimal digits, //2.35
发布于 2017-10-14 00:14:39
下面是一个简单的单行解决方案
((int) ((value + 0.005f) * 100)) / 100f
https://stackoverflow.com/questions/8911356
复制相似问题