![](/upload/rand_pic/2-554.jpg)
DecimalFormat formater = new DecimalFormat("#.0");formater.setRoundingMode(RoundingMode.FLOOR);float f = formater.format(1.88);浮点运算
两个 int 类型数相除会舍去余数取整,如果结果小于 0(例如 0.5 ) 则取 0,如果想要正确的等到小数 0.5 需要进行浮点运算。可使用以下两种方式:
方式一
BigDecimal a = new BigDecimal(10);BigDecimal b = new BigDecimal(3);double rate = a.divide(b, 2, RoundingMode.HALF_UP).doubleValue();
方式二
int a = 10;int b = 3;double rate = new BigDecimal((double) a / b).setScale(2, RoundingMode.HALF_UP).doubleValue();
方式三,直接运算,然后使用 BigDecimal 保留小数
float scaling = dp.widthPixels / (float) videoW;targetH = new BigDecimal(targetH).setScale(2).floatValue();