最近写到了内存的显示,需求是显示数字类似于(14/16G)这种形式,但是通过api获取到的却是带有两个小数点的数据,于是就需要用到四舍五入。
进入正题:
举个最简单的例子,相信大家一看就懂。
float f = 10.9822f;
f = newBigDecimal(v).setScale(2,BigDecimal.ROUND_HALF_UP).floatValue();
Log.e(TAG, "f===>"+f);
打印出来的结果就是:10.98;
如果把setScale(2, BigDecimal.ROUND_HALF_UP)中的2表示保留2位小数,当然,根据自己需要几位,写几位啦 。如果写的是0,则没有小数,也就是四色五入到只有整数了。
其中的ROUND_HALF_UP表示结果要四舍五入。该类的api里面还有其他的方法,大家可以查看一下源码。