Java保留两位小数的几种写法总结
转载
本文列举了几个方法:
1. 使用java.math.BigDecimal
2. 使用java.text.DecimalFormat
3. 使用java.text.NumberFormat
4. 使用java.util.Formatter
5. 使用String.format
文章末尾给大家分享了更多的拓展知识,另外可以自己实现或者借用封装好的类库来实现,在这篇文章中就不一一列举了。 下面来看看详细的介绍。
一、使用BigDecimal,保留小数点后两位
|
1
2
3
4
5
6
|
public static String format1(double value) { BigDecimal bd = new BigDecimal(value); bd = bd.setScale(2, RoundingMode.HALF_UP); return bd.toString();} |
二、使用DecimalFormat,保留小数点后两位
|
1
2
3
4
5
6
|
public static String format2(double value) { DecimalFormat df = new DecimalFormat("0.00"); df.setRoundingMode(RoundingMode.HALF_UP); return df.format(value);} |
三、使用NumberFormat,保留小数点后两位
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
public static String format3(double value) { NumberFormat nf = NumberFormat.getNumberInstance(); nf.setMaximumFractionDigits(2); /* * setMinimumFractionDigits设置成2 * * 如果不这么做,那么当value的值是100.00的时候返回100 * * 而不是100.00 */ nf.setMinimumFractionDigits(2); nf.setRoundingMode(RoundingMode.HALF_UP); /* * 如果想输出的格式用逗号隔开,可以设置成true */ nf.setGroupingUsed(false); return nf.format(value);} |
四、使用java.util.Formatter,保留小数点后两位
|
1
2
3
4
5
6
|
public static String format4(double value) { /* * %.2f % 表示 小数点前任意位数 2 表示两位小数 格式后的结果为 f 表示浮点型 */ return new Formatter().format("%.2f", value).toString();} |
五、使用String.format来实现。
|
1
2
3
4
|
public static String format5(double value) { return String.format("%.2f", value).toString();} |
扩展知识
String.format 作为文本处理工具,为我们提供强大而丰富的字符串格式化功能。
对浮点数进行格式化
占位符格式为: %[index$][标识]*[最小宽度][.精度]转换符
|
1
2
3
4
|
double num = 123.4567899;System.out.print(String.format("%f %n", num)); // 123.456790 System.out.print(String.format("%a %n", num)); // 0x1.edd3c0bb46929p6 System.out.print(String.format("%g %n", num)); // 123.457 |
可用标识:
-,在最小宽度内左对齐,不可以与0标识一起使用。
0,若内容长度不足最小宽度,则在左边用0来填充。
#,对8进制和16进制,8进制前添加一个0,16进制前添加0x。
+,结果总包含一个+或-号。
空格,正数前加空格,负数前加-号。
,,只用与十进制,每3位数字间用,分隔。
(,若结果为负数,则用括号括住,且不显示符号。
可用转换符:
b,布尔类型,只要实参为非false的布尔类型,均格式化为字符串true,否则为字符串false。
n,平台独立的换行符, 也可通过System.getProperty("line.separator")获取。
f,浮点数型(十进制)。显示9位有效数字,且会进行四舍五入。如99.99。
a,浮点数型(十六进制)。
e,指数类型。如9.38e+5。
g,浮点数型(比%f,%a长度短些,显示6位有效数字,且会进行四舍五入)
总结
以上就是Java中保留两位小数多种写法的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。
Java保留两位小数的几种写法总结的更多相关文章
- Java保留两位小数的几种做法
1. String类型数字始终保留两位小数 , RoundingMode.HALF_UP); return bd.toString(); } /** * 使用DecimalFormat,保留小数点后 ...
- JAVA 保留两位小数的四种方法
import java.math.BigDecimal; import java.text.DecimalFormat; import java.text.NumberFormat; publiccl ...
- (后台)Java:对double值进行四舍五入,保留两位小数的几种方法
mport java.text.DecimalFormat; DecimalFormat df = new DecimalFormat("######0.00"); double ...
- java保留两位小数和js保留两位小数一致性研究
一.java保留两位小数方式 public static void main(String[] args) { System.out.println("=======DecimalForma ...
- java使double保留两位小数的多方法 java保留两位小数
这篇文章主要介绍了java使double类型保留两位小数的方法,大家参考使用吧 复制代码 代码如下: mport java.text.DecimalFormat; DecimalFormat d ...
- java保留两位小数
java保留两位小数问题: 方式一: 四舍五入 double f = 111231.5585; BigDecimal b = new BigDecimal(f); d ...
- Java:对double值进行四舍五入,保留两位小数的几种方法
1. 功能 将程序中的double值精确到小数点后两位.可以四舍五入,也可以直接截断. 比如:输入12345.6789,输出可以是12345.68也可以是12345.67.至于是否需要四舍五入,可以通 ...
- Java 保留两位小数
在实际项目开发中,经常会存在浮点数四舍五入保留几位小数的问题,故收集了几种常用方法: 直接上代码(保留两位小数). Format.java: import java.math.BigDecimal; ...
- php保留两位小数的3种方法
<?php $num = 8.16789; //第一种:利用round()对浮点数进行四舍五入 echo round($num,2).PHP_EOL; //8.17 //第二种:利用sprint ...
- Python中保留两位小数的几种方法
https://blog.csdn.net/Jerry_1126/article/details/85009810 保留两位小数,并做四舍五入处理方法一: 使用字符串格式化>>> a ...
随机推荐
- iOS关于七牛云项目分发遇到的问题小结
在新公司做iOS开发,目前主要是用企业开发证书通过七牛云分发的形式实现app下载.在工作过程中遇到了几个相关的问题,在这里整理一下. 1.分发的ipa包在七牛云无法正常分发安装的问题 解决方案:在七牛 ...
- spring boot 官网提供所有组件
所有资源来自于官网:https://start.spring.io/,在此整理只是为了方便查看 Developer Tools Spring Boot DevToolsProvides fast ap ...
- IPV6改造 华为云如此简单
现在很多企业都在搞这个IPV6改造,说实话这个IPV6改造我这边也不是特别精通,也是通过查阅各种资料来了解IPV6这个东西,下面是我查的一些资料大家可以借鉴一下. IPv6改造三步曲--Vecloud ...
- 01 Eclipse使用Maven慢的问题解决
1. Eclipse 使用的是内置的 Maven Eclipse 有可能使用了内置的 Maven,而不是独立安装的 Maven.如果使用 Eclipse 内置的 Maven,默认的 settings. ...
- nosql的衍生与数据库的拆分
nosql简单介绍 Redis:开源.免费.非关系型数据库.K-V数据库.内存数据库,支持持久化.事务和备份,集群(支持16个库)等高可用功能.并且性能极高(可以达到100000+的QPS),易扩展, ...
- SSIS ODBC方式连接mysql数据库
系统环境:WIN 10 64位 1.安装Mysql odbc connector 插件 文章说明链接: https://www.cnblogs.com/santiagoMunez/p/4780301. ...
- 使用VSCode进行WSL2的本机调试
首先我们需要安装Remote Development插件(这个Remote-WSL一定要保证是装上的哦). 然后我们先连接到WSL. (第一次进入远程模式,会慢一些,需要下载一些组件) (如果你打开这 ...
- 初识GO语言--函数
- 如何在国内使用gcr.io镜像进行拉取
[root@k8scloude2 ~]# docker pull gcr.io/google-samples/microservices-demo/emailservice:v0.4.0 换成 [ro ...
- ABP - 菜单配置(导航栏选中高亮,高亮并定位当前标题)
配置一个如上图所示的菜单: 1.打开文件NavigationProvider.cs 添加如下代码(如下图所示) .AddItem(new MenuItemDefinition( PageNames.A ...