Java:对double值进行四舍五入,保留两位小数的几种方法
转载自 Java:对double值进行四舍五入,保留两位小数的几种方法
1. 功能
将程序中的double值精确到小数点后两位。可以四舍五入,也可以直接截断。
比如:输入12345.6789,输出可以是12345.68也可以是12345.67。至于是否需要四舍五入,可以通过参数来决定(RoundingMode.UP/RoundingMode.DOWN等参数)。
2. 实现代码
package com.clzhang.sample;import java.math.BigDecimal; import java.math.RoundingMode; import java.text.DecimalFormat; import java.text.NumberFormat;public class DoubleTest {/*** 保留两位小数,四舍五入的一个老土的方法* @param d* @return*/public static double formatDouble1(double d) {return (double)Math.round(d*100)/100;} /*** The BigDecimal class provides operations for arithmetic, scale manipulation, rounding, comparison, hashing, and format conversion.* @param d* @return*/public static double formatDouble2(double d) {// 旧方法,已经不再推荐使用 // BigDecimal bg = new BigDecimal(d).setScale(2, BigDecimal.ROUND_HALF_UP); // 新方法,如果不需要四舍五入,可以使用RoundingMode.DOWNBigDecimal bg = new BigDecimal(d).setScale(2, RoundingMode.UP); return bg.doubleValue();}/*** NumberFormat is the abstract base class for all number formats. * This class provides the interface for formatting and parsing numbers.* @param d* @return*/public static String formatDouble3(double d) {NumberFormat nf = NumberFormat.getNumberInstance();// 保留两位小数nf.setMaximumFractionDigits(2); // 如果不需要四舍五入,可以使用RoundingMode.DOWN nf.setRoundingMode(RoundingMode.UP); return nf.format(d);} /*** 这个方法挺简单的。* DecimalFormat is a concrete subclass of NumberFormat that formats decimal numbers. * @param d* @return*/public static String formatDouble4(double d) {DecimalFormat df = new DecimalFormat("#.00"); return df.format(d);} /*** 如果只是用于程序中的格式化数值然后输出,那么这个方法还是挺方便的。* 应该是这样使用:System.out.println(String.format("%.2f", d));* @param d* @return*/public static String formatDouble5(double d) {return String.format("%.2f", d);}public static void main(String[] args) {double d = 12345.67890;System.out.println(formatDouble1(d));System.out.println(formatDouble2(d));System.out.println(formatDouble3(d));System.out.println(formatDouble4(d));System.out.println(formatDouble5(d));}}
3. 输出
12345.68
12345.68
12,345.68
12345.68
12345.68
Java:对double值进行四舍五入,保留两位小数的几种方法相关推荐
- java double类型保留两位小数的几种方法
java double类型保留两位小数的几种方法 返回double类型的(转换比较方便) ①能四舍五入 double d = 114.145; d = (double) Math.round(d * ...
- php百分比四舍五入两位,php四舍五入保留两位小数有哪些实现方法
php四舍五入保留两位小数有哪些实现方法 发布时间:2020-08-06 10:12:55 来源:亿速云 阅读:96 作者:Leah 本篇文章给大家分享的是有关php四舍五入保留两位小数有哪些实现方法 ...
- PHP保留两位小数的几种方法
这篇文章主要介绍了PHP保留两位小数的几种方法,需要的朋友可以参考下 代码如下所示: $num = 10.4567; //第一种:利用round()对浮点数进行四舍五入echo round($num, ...
- php数字两位小数_PHP保留两位小数的几种方法
代码如下所示: $num = 10.4567; //第一种:利用round()对浮点数进行四舍五入 echo round($num,2); //10.46 //第二种:利用sprintf格式化字符串 ...
- php保留两位小数的几种方法介绍
1.不进位的情况 比如3.149569取小数点后两位,最后两位不能四舍五入.结果:3.14. 可以使用 floor 函数 该函数是舍去取整.例如,floor(4.66456) 结果:4 . floor ...
- PHP保留两位小数的三种方法
PHP保留两位小数的三种方法 ps:本人亲测,阿里云2核4G5M的服务器性价比很高,新用户一块多一天,老用户三块多一天,最高可以买三年,感兴趣的可以戳一下:阿里云折扣服务器 /*** PHP保留两位小 ...
- 对double值进行四舍五入,保留两位小数的几种方法
mport java.text.DecimalFormat; DecimalFormat df = new DecimalFormat("######0.00"); double ...
- 【PAT甲级 ArrayList存放class】1011 World Cup Betting (20 分) Java版 3/3通过 四舍五入保留两位小数
题目 一共给9个数,3*3,找到每行最大,按照题目要求套算式,计算就行 坑 & 心得 没啥坑,一次通过,用到的知识点是:自定义排序.四舍五入保留两位小数 DecimalFormat df = ...
- Java中让浮点型数据保留两位小数的四种方法
hello,你好呀,我是灰小猿,一个超会写bug的程序猿! 今天在进行开发的过程中遇到了一个小问题,是关于如何将double类型的数据保留两位小数.突然发现这方面有一点欠缺,就来总结一下. 一.Str ...
最新文章
- Vue3 计算属性的特性
- TPAMI 2021 | 深度赋智AutoDL系列竞赛世界冠军方案首次公开
- SAP系统如何快速上手?
- Linux常用的Shell命令
- 互联网或将进入泡沫2.0时代
- Spring3 MVC
- 车载全景可视系统surroundview
- with...as...
- docker安装mysql及相关配置、运行细节和常见报错解决方案
- r语言读取excel数据_R语言操纵Excel进行数据透视与批处理
- 对话OTTVerse创始人Krishna Rao Vijayanagar:创业之初,挑战与机遇并存
- timesten支持mysql吗_Timesten常用命令
- 如何只保留1000条数据mysql_php实现只保留mysql中最新1000条记录
- 小程序入门到精通:微信小程序介绍及开发准备工作(一)
- 嘉年华回顾丨周振兴带你解密POLARDB产品架构与实现
- python经典程序-python经典趣味24点游戏程序设计
- 第九篇 设计模式之装饰模式
- sumatrapdf反向搜索功能设置
- win10内存满载测试软件,Windows 10 内置的内存条检查工具Memory Diagnostics Tool
- 主干(trunk)、分支(branch )、标记(tag) 用法示例 + 图解
热门文章
- 7-49 打印学生选课清单 (25 分)(思路+详解+map做法(一对多)+超时解决)Come baby!
- 计算机学科的三大科学形态,华中科技大学 计算机科学与技术方法论 3计算学科中的三个学科形态.ppt...
- [设计模式]开闭原则
- Python 推导,内含,迭代器
- P3250 [HNOI2016]网络(利用堆建线段树 + 树剖)
- Codeforces Round #715 (Div. 2) D. Binary Literature 构造
- [ARC074C] RGB Sequence(dp)
- Codeforces Round #708 (Div. 2)
- [kuangbin]各种各样的题单
- 2021牛客暑期多校训练营2