iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > JAVA >Java中三种保留小数点的方法
  • 147
分享到

Java中三种保留小数点的方法

java算法jvm 2023-09-02 16:09:54 147人浏览 薄情痞子
摘要

方法一:使用BigDecimal格式化小数点 ROUND_DOWN直接删除多余的位数. ROUND_HALF_UP直接四舍五入. ROUND_UP是进位处理保留的小数后面无论是几都会进一位. ROUND_HALF_DOWN是如果要保

方法一:使用BigDecimal格式化小数点

  • ROUND_DOWN直接删除多余的位数.
  • ROUND_HALF_UP直接四舍五入.
  • ROUND_UP是进位处理保留的小数后面无论是几都会进一位.
  • ROUND_HALF_DOWN是如果要保留的那个小数位是5则向下舍.
  • ROUND_CEILING接近正无穷大的舍入.
  • ROUND_FLOOR接近负无穷大的舍入,数字>0和ROUND_UP作用一样,数字<0和ROUND_DOWN作用一样.
  • ROUND_HALF_EVEN下最接近的数字舍入,如果与两个相邻数字的距离相等,泽祥相邻的偶数舍入.
public static void main(String[] args) {        //5.254变成5.2        BigDecimal bigDecimal1 = new BigDecimal(5.254).setScale(1, BigDecimal.ROUND_DOWN);        System.out.println("bigDecimal1="+bigDecimal1);        //5.254变成5.3        BigDecimal bigDecimal2 = new BigDecimal(5.254).setScale(1, BigDecimal.ROUND_HALF_UP);        System.out.println("bigDecimal2="+bigDecimal2);        //5.224变成5.3        BigDecimal bigDecimal3 = new BigDecimal(5.224).setScale(1, BigDecimal.ROUND_UP);        System.out.println("bigDecimal3="+bigDecimal3);        //5.554变成5.6,如果是5.254则变成5.3        BigDecimal bigDecimal4 = new BigDecimal(5.554).setScale(1, BigDecimal.ROUND_HALF_DOWN);        System.out.println("bigDecimal4="+bigDecimal4);        //ROUND_CEILING接近正无穷大的舍入        BigDecimal bigDecimal5 = new BigDecimal(5.254).setScale(1, BigDecimal.ROUND_CEILING);        System.out.println("bigDecimal5="+bigDecimal5);        //5.254变成5.2,-5.254变成-5.3        BigDecimal bigDecimal6 = new BigDecimal(-5.254).setScale(1, BigDecimal.ROUND_FLOOR);        System.out.println("bigDecimal6="+bigDecimal6);        //5.254变成5.3,5.244变成5.2        BigDecimal bigDecimal7 = new BigDecimal(5.244).setScale(1, BigDecimal.ROUND_HALF_EVEN);        System.out.println("bigDecimal7="+bigDecimal7);    }

结果

方法二: 使用Math工具中的取整方法,可用于浮点数取整,只看浮点数的小数位是何值来判断.

public static void main(String[] args) {        double i=3.76;        //四舍五入直接取整数        long round = Math.round(i);        //向上取整,5.46变成6.0,3.46变成4.0        double ceil = Math.ceil(i);        //向下取整保留一位小数为0,3.76变成3.0        double floor = Math.floor(i);        System.out.println(round);        System.out.println(ceil);        System.out.println(floor);    }

结果展示:

方法三: 使用DecimalFORMat数据格式化方式.

double num = 55.382;        //定义保留格式,相当于保留几位小数        DecimalFormat df = new DecimalFormat("0.0");        //指定四舍五入规则HALF_UP        df.setRoundingMode(RoundingMode.HALF_UP);        System.out.println(df.format(num));

结果展示:

来源地址:https://blog.csdn.net/weixin_45694920/article/details/128686791

--结束END--

本文标题: Java中三种保留小数点的方法

本文链接: https://www.lsjlt.com/news/391065.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作