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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 四旋翼飞行器图片(4轴飞行器飞行运动中有)

    1、未知区域地形的构建2、农业方面的应用:(1)运用图像识别技术检测果实数量;(2)检测作物是否发生病虫害,因为当作物出现病虫害时都会有相应的表现现状。具体见链接http://www.aiweibang.com/yuedu/153474153.html3、高层建筑物的搭建

    2022年4月15日
    47
  • 24 eve 网络模拟器中的机器桥接到物理网络[通俗易懂]

    24 eve 网络模拟器中的机器桥接到物理网络[通俗易懂]

    2022年5月13日
    35
  • Scrapy库安装和项目创建建议收藏

    scrapy库安装使用pip命令安装scrapy,在安装过程中可能会因为缺少依赖库而报错,根据报错提示依次下载需要的依赖库,下载过程中注意系统类型和Python版本我在安装过程中依次安装的库有:

    2021年12月19日
    40
  • webpack版本问题「建议收藏」

    webpack版本问题「建议收藏」由于webpack版本较多,而且配置写法,每个版本都大大小小有差异,因版本问题造成的错误很多1下载指定版本我常用的版本3.3.0,2不同版本中的坑2.1在3.0之后版本配置entry和output路劲不再支持相对路径只能使用__dirname拼接成的绝对路径)varpath=require(‘path’);path.join(__dirname,”)2.2在版本4之后…

    2022年8月10日
    11
  • linux中安装pycharm_ubuntu激活成功教程pycharm

    linux中安装pycharm_ubuntu激活成功教程pycharm前言由于学习需要,准备开始在linux环境下使用python。一开始是使用了vim作为编译器的,我承认vim确实很简洁,然而对于我这种新手来说确实是很低效,一开始用vim写代码真的是让我重新体会了一遍VC手撸C语言的感觉,而且面对了还是tf这种函数巨多的库。因此还是转去用了pycharm,可能我注定和大神无缘吧,逼格都提升不到。这篇文章主要介绍linux下的安装、环境配置和学生优惠。安装…

    2022年8月28日
    3
  • javascript实例教程(17) 使用javascript的数学函数

    javascript实例教程(17) 使用javascript的数学函数 javascript实例教程(17)使用javascript的数学函数在JavaScript中,数学方法可以分成以下几类:constans(常数)、powerfunctions(乘方函数)、trigonometicfunctions(三角函数)、roundingfunctions(舍入函数)以及randomnumbers(随机数字)。下面逐个说明:常数和乘方函数Math.E

    2022年7月16日
    19

发表回复

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

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