转载自   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值进行四舍五入,保留两位小数的几种方法相关推荐

  1. java double类型保留两位小数的几种方法

    java double类型保留两位小数的几种方法 返回double类型的(转换比较方便) ①能四舍五入 double d = 114.145; d = (double) Math.round(d * ...

  2. php百分比四舍五入两位,php四舍五入保留两位小数有哪些实现方法

    php四舍五入保留两位小数有哪些实现方法 发布时间:2020-08-06 10:12:55 来源:亿速云 阅读:96 作者:Leah 本篇文章给大家分享的是有关php四舍五入保留两位小数有哪些实现方法 ...

  3. PHP保留两位小数的几种方法

    这篇文章主要介绍了PHP保留两位小数的几种方法,需要的朋友可以参考下 代码如下所示: $num = 10.4567; //第一种:利用round()对浮点数进行四舍五入echo round($num, ...

  4. php数字两位小数_PHP保留两位小数的几种方法

    代码如下所示: $num = 10.4567; //第一种:利用round()对浮点数进行四舍五入 echo round($num,2); //10.46 //第二种:利用sprintf格式化字符串 ...

  5. php保留两位小数的几种方法介绍

    1.不进位的情况 比如3.149569取小数点后两位,最后两位不能四舍五入.结果:3.14. 可以使用 floor 函数 该函数是舍去取整.例如,floor(4.66456) 结果:4 . floor ...

  6. PHP保留两位小数的三种方法

    PHP保留两位小数的三种方法 ps:本人亲测,阿里云2核4G5M的服务器性价比很高,新用户一块多一天,老用户三块多一天,最高可以买三年,感兴趣的可以戳一下:阿里云折扣服务器 /*** PHP保留两位小 ...

  7. 对double值进行四舍五入,保留两位小数的几种方法

    mport java.text.DecimalFormat; DecimalFormat df = new DecimalFormat("######0.00"); double ...

  8. 【PAT甲级 ArrayList存放class】1011 World Cup Betting (20 分) Java版 3/3通过 四舍五入保留两位小数

    题目 一共给9个数,3*3,找到每行最大,按照题目要求套算式,计算就行 坑 & 心得 没啥坑,一次通过,用到的知识点是:自定义排序.四舍五入保留两位小数 DecimalFormat df = ...

  9. Java中让浮点型数据保留两位小数的四种方法

    hello,你好呀,我是灰小猿,一个超会写bug的程序猿! 今天在进行开发的过程中遇到了一个小问题,是关于如何将double类型的数据保留两位小数.突然发现这方面有一点欠缺,就来总结一下. 一.Str ...

最新文章

  1. Vue3 计算属性的特性
  2. TPAMI 2021 | 深度赋智AutoDL系列竞赛世界冠军方案首次公开
  3. SAP系统如何快速上手?
  4. Linux常用的Shell命令
  5. 互联网或将进入泡沫2.0时代
  6. Spring3 MVC
  7. 车载全景可视系统surroundview
  8. with...as...
  9. docker安装mysql及相关配置、运行细节和常见报错解决方案
  10. r语言读取excel数据_R语言操纵Excel进行数据透视与批处理
  11. 对话OTTVerse创始人Krishna Rao Vijayanagar:创业之初,挑战与机遇并存
  12. timesten支持mysql吗_Timesten常用命令
  13. 如何只保留1000条数据mysql_php实现只保留mysql中最新1000条记录
  14. 小程序入门到精通:微信小程序介绍及开发准备工作(一)
  15. 嘉年华回顾丨周振兴带你解密POLARDB产品架构与实现
  16. python经典程序-python经典趣味24点游戏程序设计
  17. 第九篇 设计模式之装饰模式
  18. sumatrapdf反向搜索功能设置
  19. win10内存满载测试软件,Windows 10 内置的内存条检查工具Memory Diagnostics Tool
  20. 主干(trunk)、分支(branch )、标记(tag) 用法示例 + 图解

热门文章

  1. 7-49 打印学生选课清单 (25 分)(思路+详解+map做法(一对多)+超时解决)Come baby!
  2. 计算机学科的三大科学形态,华中科技大学 计算机科学与技术方法论 3计算学科中的三个学科形态.ppt...
  3. [设计模式]开闭原则
  4. Python 推导,内含,迭代器
  5. P3250 [HNOI2016]网络(利用堆建线段树 + 树剖)
  6. Codeforces Round #715 (Div. 2) D. Binary Literature 构造
  7. [ARC074C] RGB Sequence(dp)
  8. Codeforces Round #708 (Div. 2)
  9. [kuangbin]各种各样的题单
  10. 2021牛客暑期多校训练营2