Double类型的数据如何保留两位小数? 各位大虾,现有Double类型的数据,如何转换为保留两位小数的数,返回值的类型仍然是Double类型的,而不是字符串类型。 比如     0,返回“0.00”;
提示:DecimalFormat       df       =       new       DecimalFormat( "#####0.00 ");                       System.out.println(df.format(d));     这段代码能够将Double类型的数据设置指保留两位,但是返回的是String类型,要让返回Double类型的,怎么办?
------解决方案--------------------------------------------------------
首先你要搞明白,什么是模型,什么是展现。
既然“客户的需求是希望能将0.0也显示为 0.00”,那么客户并没有要求说“希望0在内部保存的时候也保存为0.00”,他要的只是展现。所以,不论你存成什么样,只要你能展现的时候转成他要的格式不就行了。
如果你希望把一个0存储成0.00的形式,那我只好告诉你,只有string和bigdecimal可以选择,绝对不可能单纯用double实现。
对double来说,0和0.00永远是一样的。如果你要问为什么,我可以告诉你,这样表示出来的数你才会觉得比较合乎你从小接受的数的概念,否则就会有点乱套。
如果你有兴趣,可以仔细先看bigdecimal的javadoc,由于bigdecimal能分别表示0和0.0以及0.00等等,造成一个很怪的现象,就是,在bigdecimal的表示下:0.equals(0.0) 以及 0.equals(0.00) 都会返回假;同时,0.compareTo(0.0) 以及 0.compareTo(0.00) 却都会返回0。 BigDecimal rateDecimal = new BigDecimal(12);//12是一个double类型

BigDecimal  num=rateDecimal.setScale(1, BigDecimal.ROUND_HALF_UP);

num是12.00;用BigDecimal来帮助显示后面的零

ROUND_CEILING  大于等于该数的那个最近值
ROUND_DOWN  正数是小于等于该数的那个最近数,负数是大于等于该数的那个最近数
ROUND_FLOOR  小于等于该数的那个值
ROUND_HALF_DOWN  五舍六入
ROUND_HALF_EVEN  向(距离)最近的一边舍入,除非两边(的距离)是相等,如果是这样,如果保留位数是奇数,使用ROUND_HALF_UP ,如果是偶数,使用ROUND_HALF_DOWN 
ROUND_HALF_UP  四舍五入
ROUND_UNNECESSARY  计算结果是精确的,不需要舍入模式 
ROUND_UP  和ROUND_DOWN相反

转载于:https://www.cnblogs.com/firstdream/p/8461393.html

java中double类型显示两个小数,比如12.00相关推荐

  1. Java中double类型保留两位小数

    java中对double类型的小数经常会有小数点后边保留一位小数或者保留两位小数的需求. javaAPi中提供了一个专门的类BigDecimal,用来对超过16位有效位的数进行精确的运算. 使用步骤: ...

  2. java中double类型保留一位小数输出给前端

    UI的需求就是返回给前端的数据要保留一位小数: 后端的类型是double类型: double rateA=0;double rateB=0;double rateC=0;double rateD=0; ...

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

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

  4. Java中double类型输出小数点后两位

    Java中double类型输出小数点后两位 思路 就是在输出的时候使用字符串格式即可. double testNum=1.123456789;System.out.println(String.for ...

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

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

  6. java double 转string_double转string java中double类型如何转换为String类型

    double转string java中double类型如何转换为String类型 在我们做的项目中,有一个字符串的生成,我们需要double去拼接,结果发现了,拼接后的字符串,那个double值用科学 ...

  7. java中double类型精度丢失问题及解决方法

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 来源: https://blog.csdn.net/yacolsp ...

  8. java中double类型占几个字节_java中各种数据类型占用字节数

    1字节(Byte)=8bit java的基本类型 类型 所占字节 byte 1 short 2 int 4 long 8 float 4 double 8 char 2 String中字母和汉字所占字 ...

  9. Java中double类型比较大小或相等的方法

    在Java中int类型数据的大小比较可以使用双等号,double类型则不能使用双等号来比较大小,如果使用的话得到的结果将永远是不相等,即使两者的精度是相同的也不可以.下面介绍两种比较double数据是 ...

最新文章

  1. 从0到1,Airbnb的深度学习实践经验总结
  2. Sublime Text 常用插件和快捷键
  3. SprintBoot开发官方指导文档
  4. 矩阵分析与多元统计12 0-1矩阵 交换矩阵与Kronecker乘积
  5. pyspark DataFrame 转RDD
  6. socket编程之select()
  7. Bash Shell中命令行选项/参数处理
  8. Delphi 与 DirectX 之 DelphiX(46): TDIB.DoAntiAlias;
  9. [html] 写一个类似刮刮卡效果的交互,即鼠标划过时显示号码
  10. 如何给APP开发属于自己的小程序
  11. AI 智能会议系统(36)---AI 书单
  12. 【mysql】解决MySQL GPG密钥过期问题
  13. .eslintrc.js相关配置
  14. 我的团长我的团可能的故事原现
  15. 图像细化 A fast parallel algorithm for thinning digital patterns
  16. 编程累了进来听听音乐
  17. 论参加数学建模比赛的正确姿势
  18. centos7安装docker并配置镜像加速
  19. EF数据迁移命令总结
  20. AngularJs搭配Bootstrap-select的防坑指南

热门文章

  1. word中装订线位置_Word操作技巧:Word文档双面打印全攻略,解决打印难题
  2. android 组件大小,Android编程获取组件尺寸大小的方法
  3. 埃及分数怎么计算java_贪心算法之埃及分数问题(附c++源代码)
  4. LabelImg,LabelMe工具标注后的图片数据增强
  5. “技术需求”与“技术成果”项目之间关联度计算模型 复赛top1解决方案
  6. 从零开始掌握Python机器学习(附不可错过的资源)
  7. 计算机三级上机考试题库,计算机三级数据库上机试题及答案
  8. java圆角矩形_[转]c# 画圆角矩形
  9. redis rdb aof区别_干货|Redis的RDB和AOF
  10. 悟透delphi 第五章 包