java中round函数怎么用_java四舍五入函数如何实现?

各种函数是java的精髓,熟练使用函数能极大的提高对项目的编码能力,本篇文章我们就来看看其中的四舍五入函数是怎么实现的。

java中我们可以使用java.math.BigDecimal来进行四舍五入,除此之外还能直接使用DecimalFormat来控制小数位数的精度来进行四舍五入。//使用DecimalFormat直接就可以控制小数的位数了

double resultVar = 1231231.1123682321;

DecimalFormat dfc = new DecimalFormat("#.######");

String cellContent = dfc.format(resultVar);

System.out.println(" cellContent " + cellContent);

在函数使用中,有时它会动态保留小数的位数,甚至在银行家算法中四舍五入并不完全是5入,所以在某些情况下我们就需要将3.155退位成3.15.

这时我们可以double d = value;

BigDecimal a = new BigDecimal(d);

//        BigDecimal a = new BigDecimal(String.valueOf(d));

System.out.println("a.setScale(2,2)=" + a.setScale(6, BigDecimal.ROUND_HALF_DOWN));BigDecimal.setScale() 方法用于格式化小数点setScale(1, BigDecimal.ROUND_DOWN) 直接删除多余的小数位, 如2 .35 会变成2 .3

setScale(1, BigDecimal.ROUND_UP) 进位处理, 2.35 变成2 .4

setScale(1, BigDecimal.ROUND_HALF_UP) 四舍五入, 2.35 变成2 .4

setScaler(1, BigDecimal.ROUND_HALF_DOWN) 四舍五入, 2.35 变成2 .3, 如果是5则向下舍

例:public class MathTest

{

public static void main(String[] args)

{

System.out.println("小数点后第一位=5");

System.out.println("正数:Math.round(11.5)=" + Math.round(11.5));

System.out.println("负数:Math.round(-11.5)=" + Math.round(-11.5));

System.out.println();

System.out.println("小数点后第一位<5");

System.out.println("正数:Math.round(11.46)=" + Math.round(11.46));

System.out.println("负数:Math.round(-11.46)=" + Math.round(-11.46));

System.out.println();

System.out.println("小数点后第一位>5");

System.out.println("正数:Math.round(11.68)=" + Math.round(11.68));

System.out.println("负数:Math.round(-11.68)=" + Math.round(-11.68));

}

}

以上就是本篇文章的所有内容,更多相关java实例敬请关注奇Q工具网了解详情。

推荐阅读:


版权声明:本文为weixin_31943449原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。