Java四舍五入保留两位小数

Java四舍五入保留两位小数文章目录Java四舍五入保留两位小数一、前言环境二、正文BigDecimalDecimalFormatMathcommons-math3String#formatJava四舍五入保留两位小数一、前言环境开发工具:IntelliJIDEAJDK:1.8BigDecimal:https://docs.oracle.com/javase/8/docs/api/java/math/BigDecimal.htmlDecimalFormat:https://docs.oracle.com/java

大家好,又见面了,我是你们的朋友全栈君。

Java四舍五入保留两位小数

一、前言

环境

  • 开发工具:IntelliJ IDEA
  • JDK:1.8

BigDecimal:https://docs.oracle.com/javase/8/docs/api/java/math/BigDecimal.html

DecimalFormat:https://docs.oracle.com/javase/8/docs/api/java/text/DecimalFormat.html

Math:https://docs.oracle.com/javase/8/docs/api/java/lang/Math.html

apache commons-math:https://commons.apache.org/proper/commons-math/

maven repository:https://mvnrepository.com/

二、正文

BigDecimal

  • RoundingMode
算法 说明
ROUND_UP 舍入模式从零舍入
ROUND_DOWN 舍入模式向零舍入
ROUND_CEILING 舍入模式向正无穷大舍入
ROUND_FLOOR 舍入模式向负无穷大舍入
HALF_UP 舍入模式向“最近的邻居”舍入,除非两个邻居是等距的,在这种情况下向上舍入
HALF_DOWN 舍入模式向“最近的邻居”舍入,除非两个邻居是等距的,在这种情况下向下舍入
HAIL_EVEN 舍入模式向“最近的邻居”舍入,除非两个邻居是等距的,在这种情况下,向偶数邻居舍入
UNNECESSARY 舍入模式断言所请求的操作具有精确的结果,因此不需要舍入
  • 代码
double num = 3333.445555;
// BigDecimal
BigDecimal bigDecimal = new BigDecimal(num);
bigDecimal = bigDecimal.setScale(2, RoundingMode.HALF_UP);
System.out.println("bigDecimal="+ bigDecimal.doubleValue());

DecimalFormat

double num = 3333.445555;
// DecimalFormat
DecimalFormat decimalFormat = new DecimalFormat("#.##");
String numByDF = decimalFormat.format(num);
System.out.println("decimalFormat="+ numByDF);

Math

double num = 3333.445555;
// Math
double numByM = Math.round(num*100.0) / 100.0;
System.out.println("numByM="+ numByM);

commons-math3

  • maven 依赖
<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-math3</artifactId>
    <version>3.6.1</version>
</dependency>
  • 代码
double num = 3333.445555;
// commons-math3
double numByM3 = Precision.round(num, 2);
System.out.println("numByM3="+ numByM3);

String#format

double num = 3333.445555;
// String#format
String numByStr = String.format("%.2f", num);
System.out.println("String.format="+ numByStr);
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/143295.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 简述方差分析_多元方差分析

    简述方差分析_多元方差分析本文介绍单因素方差分析,双因素无交互项的方差分析,双因素有交互项的方差分析,并分别附带有MATLAB代码

    2022年10月9日
    1
  • WinHTTP如何处理Cookie

    WinHTTP如何处理CookieCookieHandlinginWinHTTPHTTPsessiondataispassedbetweentheclientandserverinthecookieheaderoftherequestortheresponse.TheserversendscookiestotheclientintheSet-cookiehe

    2022年7月11日
    19
  • bug生命周期流程_bug六大要素

    bug生命周期流程_bug六大要素你们公司是如何管理bug的?考查点:缺陷的生命周期常见的流程就不多说了,CSDN上有很多,今天说一些不一样的点:正常流程:打开–接受–已解决-关闭其它状态:拒绝、重新打开、遗留1、线上的bug优先级最高,会要求测试leader亲自协助运营、开发人员定位,邮件报告相关领导:bug分析、开发人员如何修改,有哪些影响范围,bug修改进度,开发和测试的改进措施;2、测试环境的典型b…

    2022年10月20日
    4
  • 数据库泄露,QQ密码,原来是这样「建议收藏」

    数据库泄露,QQ密码,原来是这样「建议收藏」近期大批数据库被暴,何解呢?参考相关帖子,加上本人的一点见解,有如下结论其实也不是什么结论,纯粹就是什么呢,嗯。。。。“一点都不意外,这在我们圈里流传很久了。”中国鹰派联盟网的创立者、鹰派代表万涛如此评价近期多家网站用户信息遭泄露一事。万涛曾参与组织了2001年中美黑客大战。万涛告诉早报记者,这些用户信息在业内已经是公开的,只是最近有好事者将其公布在网络上。他表

    2022年9月18日
    2
  • lm算法是什么算法_opencv图像处理算法

    lm算法是什么算法_opencv图像处理算法1.高斯牛顿法残差函数f(x)为非线性函数,对其一阶泰勒近似有:这里的J是残差函数f的雅可比矩阵,带入损失函数的:令其一阶导等于0,得:这就是论文里常看到的normalequation。2.LMLM是对高斯牛顿法进行了改进,在求解过程中引入了阻尼因子:2.1阻尼因子的作用:2.2阻尼因子的初始值选取:一个简单的策略就是:2.3阻尼因子的更新策略3.核心代码讲解3.1构建H矩阵void…

    2022年10月1日
    2
  • 什么是UE4(学ue4还是unity)

    对于游戏的来说,最能够影响它的性能的,便是游戏程序的开发、维护工作了。游戏开发、维护工作都是通过游戏开发引擎来完成的,而U3D和UE4正是如今行业主流的两款游戏开发引擎。不同的游戏开发引擎在不同的游戏中使用,那么具体的u3d和ue4的区别是什么?小编常被想要进入游戏行业的同学问到,学U3D和UE4哪个更好?其实这主要是看你自己的就业倾向。下面小编就从两款游戏开发引擎的具体区别来讲讲我们该如何选择。…

    2022年4月14日
    59

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号