Java 浮点运算保留小数位

08-08 科技 投稿:宜涵梅
唐三 2023-07-10 17:16:44 2023-08-04 17:21:22
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();
声明:生活头条网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系admin@gdcyjd.com