Java中让浮点型数据保留两位小数的四种方法
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中让浮点型数据保留两位小数的四种方法相关推荐
- Double值保留两位小数的四种方法
public class DoubleTest {//保留两位小数第三位如果大于4会进一位(四舍五入)double f = 6.23556;/***使用精确小数BigDecimal*/public v ...
- C++保留两位小数的四种方法
输入三个浮点数,求出和与平均值,保留两位小数: #include<iostream> #include<iomanip> using namespace std;int mai ...
- java中保留两位小数的方法_Java中保留两位小数的四种方法实现实例
在写程序的时候,有时候可能需要设置小数的位数,那么java中有哪几种保留小数位数的方法呢?本文以两位小数为例给出四种方法. package CodeJava_Leet; import java.mat ...
- 保留两位小数的四种方法
1double f = 111231;System.out.println(String.format("%.2f", f));输出结果为:111231.00 2double f1 ...
- Java:对double值进行四舍五入,保留两位小数的几种方法
转载自 Java:对double值进行四舍五入,保留两位小数的几种方法 1. 功能 将程序中的double值精确到小数点后两位.可以四舍五入,也可以直接截断. 比如:输入12345.6789,输出 ...
- java double类型保留两位小数的几种方法
java double类型保留两位小数的几种方法 返回double类型的(转换比较方便) ①能四舍五入 double d = 114.145; d = (double) Math.round(d * ...
- PHP保留两位小数的几种方法
这篇文章主要介绍了PHP保留两位小数的几种方法,需要的朋友可以参考下 代码如下所示: $num = 10.4567; //第一种:利用round()对浮点数进行四舍五入echo round($num, ...
- php数字两位小数_PHP保留两位小数的几种方法
代码如下所示: $num = 10.4567; //第一种:利用round()对浮点数进行四舍五入 echo round($num,2); //10.46 //第二种:利用sprintf格式化字符串 ...
- PHP保留两位小数的三种方法
PHP保留两位小数的三种方法 ps:本人亲测,阿里云2核4G5M的服务器性价比很高,新用户一块多一天,老用户三块多一天,最高可以买三年,感兴趣的可以戳一下:阿里云折扣服务器 /*** PHP保留两位小 ...
最新文章
- Java多线程并发常用类实例之:exchanger
- php生成背景并加字,PHP给图片添加文字水印实例
- OEM status|start|stop
- QT学习:图形视图Graphics View
- 作者:冯是聪(1973-),男,博士,北京明略软件系统有限公司联合创始人兼CTO。...
- pdfContentByte 类 图像和文本的绝对位置
- Spark 性能相关参数配置详解-shuffle篇
- 微服务架构的分布式事务解决方案(Dubbo分布式事务处理)
- 决策树(十二)--XGBoost
- SOME/IP不等同于SOA,CommonAPI-RPC通信和vsomeip基于消息通信
- python:random.randint 和 numpy.random.uniform
- 计算机保研面试题总汇(网上搜集的题 自己写的答案)
- java 农历公历转换_JAVA版农历和阳历相互转换源码
- 义隆单片机C语言2ms中断,义隆单片机编程时应注意的几点.doc
- Java正确获取星期Calendar.DAY_OF_WEEK
- python官网-python中文官网
- python 画图marker标记汇总(matplotlib.pyplot)
- 华为BOX300连线及配置
- armbian 斐讯n1_记录一下斐讯N1盒子刷Armbian的各种坑
- js 无弹框打印_打印预览,关闭窗口等js代码