decimal保留两位小数_java中如何保留小数点后两位

decimal保留两位小数_java中如何保留小数点后两位很多小伙伴在使用java的时候可能会遇到这样的需求:一个浮点型的数据,我只需要保留两位小数即可。而现实中往往的输出情况却大相径庭。其实这都是数据没有进行格式化的结果,java提供了很多方法来进行数据格式化,通过数据格式化,java可以将计算结果保留两位小数。接下来通过java怎么保留两位小数,来介绍一下java的浮点型数据格式化!java怎么保留两位小数?具体方法是什么?使用BigDecimal类进行数据格式化​BigDecimal​类是​java.math​包中提供的一个API类,它可以用来对_java百分比保留两位小数

很多小伙伴在使用java的时候可能会遇到这样的需求:一个浮点型的数据,我只需要保留两位小数即可。而现实中往往的输出情况却大相径庭。其实这都是数据没有进行格式化的结果,java提供了很多方法来进行数据格式化,通过数据格式化,java可以将计算结果保留两位小数。接下来通过java怎么保留两位小数,来介绍一下java的浮点型数据格式化!

java怎么保留两位小数?具体方法是什么?

使用BigDecimal类进行数据格式化

​BigDecimal​类是​java.math​包中提供的一个API类,它可以用来对超过16位有效位的数据进行精确的运算。它提供了​format()​方法可以用来进行对数值的格式化控制。具体格式化代码如下:

public static String format1(double value){
    BigDecimal bd = new BigDecimal(value);//创建一个bd对象,将要转换的值value传入构造函数
    bd = bd.setScale(2, RoundingMode.HALF_UP);//调用setScale方法进行数据格式化,保留两位小数,采用四舍五入规则
    return bd.toString(); //返回bd对象的值(转化为string形式)
}

使用DecimalFormat类进行数据格式化

​DecimalFormat​类是​NumberFormat​的一个具体子类,是用来格式化十进制数字的。使用该方法也可以简单的格式化数据。具体格式化代码如下:

public static String format2(double value) {
    DecimalFormat df = new DecimalFormat("0.00");//创建一个df对象,传入0.00表示构造一个保留小数点后两位的df对象
    df.setRoundingMode(RoundingMode.HALF_UP);//设置规则,这里采用的也是四舍五入规则
    return df.format(value);//返回value(在返回之前使用df对象的格式化方法将数据格式化)
}

使用NumberFormat类进行数据格式化

​NumberFormat​是所有数字格式的抽象基类。它用来提供格式化和解析数字的接口。它可以帮助开发者格式化和解析任何语言环境的数字。使用该方法格式化数据的代码如下:

public static String format3(double value) {
    NumberFormat nf = NumberFormat.getNumberInstance();//获取NumberFormat类的实例需要调用getInstance()方法
    nf.setMaximumFractionDigits(2);//设置强制保留两位,避免出现10.00的时候返回10(也就是不满两位要用零补足两位)
    nf.setMinimumFractionDigits(2);//设置强制保留两位,如果有多出的就采用计数保留进行处理(也就是超过两位的要进行进位换算)
    nf.setRoundingMode(RoundingMode.HALF_UP);//设置计数保留规则,这里采用四舍五入法
    nf.setGroupingUsed(false);//是否将数据使用逗号进行分组
    return nf.format(value);//返回value(在返回之前使nf对象的格式化方法将数据格式化)
}

使用java.util.Formatter进行数据格式化

使用​java.util.Formatter​也可以进行数据的格式化。具体代码如下:

public static String format4(double value) {
    return new Formatter().format("%.2f", value).toString();
    //使用java.util.Formatter的format方法,可以将value数值格式化成指定格式的数据
    //%是格式化字符(与C语言类似).2表示保留小数点后两位,f表示传入的这个数值是浮点型
    //最后使用toString方法将数值转换成字符串
}

使用String.format进行数据格式化(最常见简单的方法)

​String.format​作为文本处理工具,为我们提供了强大而且丰富的字符串格式化功能,它也可以进行浮点数的格式化。具体的代码如下:

public static String format5(double value) {
    return String.format("%.2f", value).toString();
    //%是格式化字符(与C语言类似).2表示保留小数点后两位,f表示传入的这个数值是浮点型
    //最后使用toString方法将数值转换成字符串
}

以上可以堪称是最简单的方法了。但之所以称它常见,是因为他可以直接在​print​中使用。例如:

double num = 123.4567899;
System.out.print(String.format("%.2f", num)); //直接在print中使用 

小结

以上就是java怎么保留两位小数的几种常见方法。个人认为掌握其中的一两种即可(因为它们有的简单,有的则具有共通之处),当然掌握更多的方法可以拥有更多的选择,各位小伙伴也可以多学一些知识。

我整理了一些java技术资料和面试题集,供大家提升进阶,不管你是要入门学习还是想面试跳槽巩固基础,都可以免费领取一份。

下面展示部分截图,文末附免费下载方式。

第一篇:基础篇

图片

第二篇:JVM 篇

图片

第三篇:多线程 &并发篇

图片

第四篇:Spring 篇

图片

第五篇:MyBatis 篇

图片

第六篇:Spring Boot 篇

图片

第七篇:MySQL 篇

图片

第八篇:Redis 篇

图片

第九篇:Spring Cloud 篇

图片

第十篇:Nginx 篇

图片

第十一篇:MQ 篇

图片

第十二篇:数据结构与算法篇

图片

第十三篇:Linux 篇

图片

第十四篇:简历篇

图片

最后

整份文档一共有将近 200 页,为了不影响大家的阅读体验就只展示了部分内容,希望能帮助到您面试前的复习且找到一个好的工作,也节省大家在网上搜索资料的时间来学习!

需要的小伙伴点击下方名片,扫码免费领取。

今天的文章decimal保留两位小数_java中如何保留小数点后两位分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/58207.html

(0)
编程小号编程小号

相关推荐

发表回复

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