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 页,为了不影响大家的阅读体验就只展示了部分内容,希望能帮助到您面试前的复习且找到一个好的工作,也节省大家在网上搜索资料的时间来学习!
需要的小伙伴点击下方名片,扫码免费领取。
java怎么保留两位小数?具体方法是什么?相关推荐
- java中保留两位小数的方法_Java中保留两位小数的四种方法实现实例
在写程序的时候,有时候可能需要设置小数的位数,那么java中有哪几种保留小数位数的方法呢?本文以两位小数为例给出四种方法. package CodeJava_Leet; import java.mat ...
- java double 保留小数_java使double类型保留两位小数的方法
java使double类型保留两位小数的方法 本文是百分网小编整理的主要介绍关于java使double类型保留两位小数的方法,有需要的朋友们一起看看吧!想了解更多相关信息请持续关注我们应届毕业生考试网 ...
- java最多保留两位小数_java使double保留两位小数的多方法 java保留两位小数
这篇文章主要介绍了java使double类型保留两位小数的方法,大家参考使用吧mport java.text.DecimalFormat; DecimalFormat df = new De ...
- java中保留小数位_Java中保留两位小数的方法
Java中保留4位小数的方法: import java.math.BigDecimal; import java.text.DecimalFormat; import java.text.Number ...
- 用java编写保留两位小数_Java保留两位小数的几种写法总结
摘要:这篇Java开发技术栏目下的"Java保留两位小数的几种写法总结",介绍的技术点是"Java保留两位小数.保留两位小数.两位小数.Java.小数.总结", ...
- java long保留两位小数
java long保留两位小数 在java中long是长整型,如果想在计算过程中保留两位小数可以将long转为double类型在用String.format就可以了. //计算时间差long star ...
- 总结:java除法保留两位小数
java除法保留两位小数: java中,当两个整数相除时,由于小数点以后的数字会被截断,运算结果将为整数,此时若希望得到运算结果为浮点数, 必须将两整数其一或是两者都强制转换为浮点数.因为int 是整 ...
- js保留两位小数的方法
js保留两位小数的方法 js保留两位小数的方法如下 1.toFixed()方法 需注意,保留两位小数,将数值类型的数据改变成了字符串类型 2.Math.floor(),不四舍五入 ,向下取整 注意,不 ...
- php百分比四舍五入两位,PHP保留两位小数 四舍五入方法
在php中要保留两位小数的方法有很多种办法,有如:sprintf,substr,number_format,round等等方法,下面我来给大家介绍介绍. 方法一 sprintf()函数 ,sprint ...
最新文章
- gtx1080 驱动 linux,CentOS 7安装Nvidia GTX1080显卡驱动
- hdoj 1025 Constructing Roads In JGShining's Kingdom(最长上升子序列+二分)
- python代码怎么设置,如何设置PyCharm中的Python代码模版(推荐)
- 计算机 连接ip,连接在Internet上的计算机都拥有IP地址。
- TP的门面Facade:静态方式调用方法
- Ajax+Node.js前后端交互最佳入门实践(04)
- 做了几年Java开发,你必须重视这一点
- java解析dxf文件_CAD文件无法打开,这两点原因你必须要知道
- stream 定长循环_Java8之Stream流代替For循环操作
- 【广告技术】揭秘!腾讯广告是如何有效划分用户群体的
- 排队论是计算机科学新分支,(计算机科学的分支领域体系.doc
- mysql5.7服务端安装_windows安装 MySQL5.7服务端-Go语言中文社区
- 什么是CMMI认证?
- 跨境电商卖家,如何避免被亚马逊黑心测评商家割韭菜?+自养号教学——AdsPower
- python刷题记录:买帽子
- ZOJ 3551 Bloodsucker 题解
- Nginx网站服务与LNMP架构部署(详解)
- MATLAB代码:基于粒子群算法的电动汽车充电站最优选址和定容
- Android集成腾讯X5浏览器内核库
- [激光器原理与应用-4]:激光器的内部结构与工作原理
热门文章
- tf14: 黑白图像上色
- iphone和mac互传文件_华为手机也能连苹果电脑:一键文件互传、备份和恢复
- tp5两字段比较查询怎么写 已解决
- unity3d Human skin real time rendering 真实模拟人皮实时渲染
- 这种情况到底怎么解决,求帮忙
- 笔记本电脑连蓝牙音箱放音乐音质很差 解决办法
- 八、装饰者模式—巴厘岛,奶茶店的困扰! #和设计模式一起旅行#
- 2016年2月22日--2月29日(18小时,剩3152小时)
- 2017-2018-2 20179205 《网络攻防技术与实践》第六周作业
- 数影周报:LastPass 的客户数据再泄露,天猫向 ofo 及戴威索要 5 亿借款