很多小伙伴在使用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 页,为了不影响大家的阅读体验就只展示了部分内容,希望能帮助到您面试前的复习且找到一个好的工作,也节省大家在网上搜索资料的时间来学习!

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

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

  1. java中保留两位小数的方法_Java中保留两位小数的四种方法实现实例

    在写程序的时候,有时候可能需要设置小数的位数,那么java中有哪几种保留小数位数的方法呢?本文以两位小数为例给出四种方法. package CodeJava_Leet; import java.mat ...

  2. java double 保留小数_java使double类型保留两位小数的方法

    java使double类型保留两位小数的方法 本文是百分网小编整理的主要介绍关于java使double类型保留两位小数的方法,有需要的朋友们一起看看吧!想了解更多相关信息请持续关注我们应届毕业生考试网 ...

  3. java最多保留两位小数_java使double保留两位小数的多方法 java保留两位小数

    这篇文章主要介绍了java使double类型保留两位小数的方法,大家参考使用吧mport java.text.DecimalFormat; DecimalFormat    df   = new De ...

  4. java中保留小数位_Java中保留两位小数的方法

    Java中保留4位小数的方法: import java.math.BigDecimal; import java.text.DecimalFormat; import java.text.Number ...

  5. 用java编写保留两位小数_Java保留两位小数的几种写法总结

    摘要:这篇Java开发技术栏目下的"Java保留两位小数的几种写法总结",介绍的技术点是"Java保留两位小数.保留两位小数.两位小数.Java.小数.总结", ...

  6. java long保留两位小数

    java long保留两位小数 在java中long是长整型,如果想在计算过程中保留两位小数可以将long转为double类型在用String.format就可以了. //计算时间差long star ...

  7. 总结:java除法保留两位小数

    java除法保留两位小数: java中,当两个整数相除时,由于小数点以后的数字会被截断,运算结果将为整数,此时若希望得到运算结果为浮点数, 必须将两整数其一或是两者都强制转换为浮点数.因为int 是整 ...

  8. js保留两位小数的方法

    js保留两位小数的方法 js保留两位小数的方法如下 1.toFixed()方法 需注意,保留两位小数,将数值类型的数据改变成了字符串类型 2.Math.floor(),不四舍五入 ,向下取整 注意,不 ...

  9. php百分比四舍五入两位,PHP保留两位小数 四舍五入方法

    在php中要保留两位小数的方法有很多种办法,有如:sprintf,substr,number_format,round等等方法,下面我来给大家介绍介绍. 方法一 sprintf()函数 ,sprint ...

最新文章

  1. gtx1080 驱动 linux,CentOS 7安装Nvidia GTX1080显卡驱动
  2. hdoj 1025 Constructing Roads In JGShining's Kingdom(最长上升子序列+二分)
  3. python代码怎么设置,如何设置PyCharm中的Python代码模版(推荐)
  4. 计算机 连接ip,连接在Internet上的计算机都拥有IP地址。
  5. TP的门面Facade:静态方式调用方法
  6. Ajax+Node.js前后端交互最佳入门实践(04)
  7. 做了几年Java开发,你必须重视这一点
  8. java解析dxf文件_CAD文件无法打开,这两点原因你必须要知道
  9. stream 定长循环_Java8之Stream流代替For循环操作
  10. 【广告技术】揭秘!腾讯广告是如何有效划分用户群体的
  11. 排队论是计算机科学新分支,(计算机科学的分支领域体系.doc
  12. mysql5.7服务端安装_windows安装 MySQL5.7服务端-Go语言中文社区
  13. 什么是CMMI认证?
  14. 跨境电商卖家,如何避免被亚马逊黑心测评商家割韭菜?+自养号教学——AdsPower
  15. python刷题记录:买帽子
  16. ZOJ 3551 Bloodsucker 题解
  17. Nginx网站服务与LNMP架构部署(详解)
  18. MATLAB代码:基于粒子群算法的电动汽车充电站最优选址和定容
  19. Android集成腾讯X5浏览器内核库
  20. [激光器原理与应用-4]:激光器的内部结构与工作原理

热门文章

  1. tf14: 黑白图像上色
  2. iphone和mac互传文件_华为手机也能连苹果电脑:一键文件互传、备份和恢复
  3. tp5两字段比较查询怎么写 已解决
  4. unity3d Human skin real time rendering 真实模拟人皮实时渲染
  5. 这种情况到底怎么解决,求帮忙
  6. 笔记本电脑连蓝牙音箱放音乐音质很差 解决办法
  7. 八、装饰者模式—巴厘岛,奶茶店的困扰! #和设计模式一起旅行#
  8. 2016年2月22日--2月29日(18小时,剩3152小时)
  9. 2017-2018-2 20179205 《网络攻防技术与实践》第六周作业
  10. 数影周报:LastPass 的客户数据再泄露,天猫向 ofo 及戴威索要 5 亿借款