方法一
此方法返回精度为四舍五入,返回String类型
#.##
格式化后如果小数部分末尾有0,则去除末尾的0文章源自新逸网络-https://www.xinac.net/8866.html
#0.00
格式化后,保留2位小数文章源自新逸网络-https://www.xinac.net/8866.html
DecimalFormat df = new DecimalFormat("#0.00"); double d11 = 3.14159; System.out.println(df.format(d11)); System.out.println("-----------"); double d12 = 3.456; System.out.println(df.format(d12)); System.out.println("-----------"); double d21 = 1.956; System.out.println(df.format(d21)); System.out.println("-----------"); double d22 = 1.901; System.out.println(df.format(d22)); System.out.println("-----------"); double d31 = 2.0; System.out.println(df.format(d31)); System.out.println("-----------");
3.14 ----------- 3.46 ----------- 1.96 ----------- 1.90 ----------- 2.00 -----------
方法二
此方法为四舍五入,可返回Double类型文章源自新逸网络-https://www.xinac.net/8866.html
BigDecimal decimal1 = new BigDecimal("10.124"); double d1 = decimal1.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); System.out.println(d1); System.out.println("-----------"); BigDecimal decimal2 = new BigDecimal("10.345"); double d2 = decimal2.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); System.out.println(d2); System.out.println("-----------");
10.12 ----------- 10.35 -----------
方法三
此方法返回精度为四舍五入,返回String类型文章源自新逸网络-https://www.xinac.net/8866.html
%.2f:%. 表示小数点前任意位数;2 表示两位小数;格式后的结果为f,表示浮点型文章源自新逸网络-https://www.xinac.net/8866.html
double d1 = 3.141; String s1 = String.format("%.2f", d1); System.out.println(s1); System.out.println("-----------"); double d2 = 3.345; String s2 = String.format("%.2f", d2); System.out.println(s2); System.out.println("-----------");
3.14 ----------- 3.35 -----------
方法四
此方法返回精度为四舍五入,返回String类型文章源自新逸网络-https://www.xinac.net/8866.html
NumberFormat format = NumberFormat.getNumberInstance(); // 参数digits是位数,最后位四舍五入 format.setMaximumFractionDigits(2); System.out.println(format.format(3.141)); System.out.println("-----------"); System.out.println(format.format(3.345)); System.out.println("-----------");
3.14 ----------- 3.35 -----------
文章源自新逸网络-https://www.xinac.net/8866.html
各种方法各有特点,如无特殊需要,建议使用BigDecimal
,使用double
处理精度的都被开除了!文章源自新逸网络-https://www.xinac.net/8866.html
文章源自新逸网络-https://www.xinac.net/8866.html
文章源自新逸网络-https://www.xinac.net/8866.html 文章源自新逸网络-https://www.xinac.net/8866.html
新逸IT技术
扫一扫关注微信公众号
评论