hello,你好呀,我是灰小猿,一个超会写bug的程序猿!

今天在进行开发的过程中遇到了一个小问题,是关于如何将double类型的数据保留两位小数。突然发现这方面有一点欠缺,就来总结一下。

一、String类的方式

该方式是是使用String的format()方法来实现的,该方法的作用就是规范数据的格式,第一个参数传入一个字符串来表示输出的数据格式,如保留两位小数就使用“%.2f”,第二个参数是要进行格式化的数据。实例如下:

        double testDounle_01 = 123.456;float testFloat_01 = 456.125f;/*** 使用string类的方式* */System.out.println("使用string类的方式");System.out.println(String.format("%.2f", testDounle_01));System.out.println(String.format("%.2f", testFloat_01));

 二、DecimalFormat类

DecimalFormat类主要就是用于格式化十进制数据的,这个类是NumberFormat 的一个具体子类,操作和使用起来都比较方便。在使用的时候需要实例化这个类,构造函数中传入数据的格式类型。

其中各个符号的含义如下:

使用案例如下:

/*** 测试保留两位小数*/public static void testDoubleToTwo() {/***DecimalFormat类*/DecimalFormat decimalFormat = new DecimalFormat("#.00");String ans_3 = decimalFormat.format(testDounle_01);System.out.println(ans_3);}

三、BigDecimal类进行数据处理

java.math包中提供的API类BigDecimal,是用来对超过16位有效位的数进行精确的运算。双精度浮点型变量double可以处理16位有效数。但是也可以用来定义小数点后两位,但是使用起来比较麻烦,不太推荐使用。

        double testDounle_01 = 123.456;float testFloat_01 = 456.125f;/***  BigDecimal类进行数据处理*  */BigDecimal bigDecimal = new BigDecimal(testDounle_01);double ans_2 = bigDecimal.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();System.out.println(ans_2);

四、NumberFormat类进行数据处理

NumberFormat类是数据格式化类,使用该类将浮点数保留二进制的方法和BigDecimal类似,但是使用起来也是十分的麻烦。

        double testDounle_01 = 123.456;float testFloat_01 = 456.125f;/***  NumberFormat类进行数据处理*  */NumberFormat numberInstance = NumberFormat.getNumberInstance();
//        设置最大小数点位数numberInstance.setMaximumFractionDigits(2);
//        设置数据舍入类型numberInstance.setRoundingMode(RoundingMode.HALF_UP);System.out.println(numberInstance.format(testDounle_01));

总结一下

对于将浮点型数据保留两位小数,我比较推荐的还是前两种方法,或者是直接使用String.format()方法,

小伙伴们还有其他方法欢迎提出指正!

我是灰小猿,我们下期见!

Java中让浮点型数据保留两位小数的四种方法相关推荐

  1. Double值保留两位小数的四种方法

    public class DoubleTest {//保留两位小数第三位如果大于4会进一位(四舍五入)double f = 6.23556;/***使用精确小数BigDecimal*/public v ...

  2. C++保留两位小数的四种方法

    输入三个浮点数,求出和与平均值,保留两位小数: #include<iostream> #include<iomanip> using namespace std;int mai ...

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

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

  4. 保留两位小数的四种方法

    1double f = 111231;System.out.println(String.format("%.2f", f));输出结果为:111231.00 2double f1 ...

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

    转载自   Java:对double值进行四舍五入,保留两位小数的几种方法 1. 功能 将程序中的double值精确到小数点后两位.可以四舍五入,也可以直接截断. 比如:输入12345.6789,输出 ...

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

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

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

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

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

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

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

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

最新文章

  1. Java多线程并发常用类实例之:exchanger
  2. php生成背景并加字,PHP给图片添加文字水印实例
  3. OEM status|start|stop
  4. QT学习:图形视图Graphics View
  5. 作者:冯是聪(1973-),男,博士,北京明略软件系统有限公司联合创始人兼CTO。...
  6. pdfContentByte 类 图像和文本的绝对位置
  7. Spark 性能相关参数配置详解-shuffle篇
  8. 微服务架构的分布式事务解决方案(Dubbo分布式事务处理)
  9. 决策树(十二)--XGBoost
  10. SOME/IP不等同于SOA,CommonAPI-RPC通信和vsomeip基于消息通信
  11. python:random.randint 和 numpy.random.uniform
  12. 计算机保研面试题总汇(网上搜集的题 自己写的答案)
  13. java 农历公历转换_JAVA版农历和阳历相互转换源码
  14. 义隆单片机C语言2ms中断,义隆单片机编程时应注意的几点.doc
  15. Java正确获取星期Calendar.DAY_OF_WEEK
  16. python官网-python中文官网
  17. python 画图marker标记汇总(matplotlib.pyplot)
  18. 华为BOX300连线及配置
  19. armbian 斐讯n1_记录一下斐讯N1盒子刷Armbian的各种坑
  20. js 无弹框打印_打印预览,关闭窗口等js代码

热门文章

  1. 【数据库实验】 单表查询
  2. 名帖64 欧阳询 楷书《皇甫诞碑》
  3. SiLK Documentation 翻译
  4. php数字两位小数_PHP保留两位小数的几种方法【转】
  5. 在控制台使用js获取cookie信息
  6. 将服务器设为禁PING步骤
  7. Wget入门使用教程
  8. UART串口通讯乱码分析
  9. JavaScript中的三目运算符详细介绍
  10. 前端适配刘海屏 ,水滴屏等