本文列举了几个方法:

1. 使用java.math.BigDecimal

2. 使用java.text.DecimalFormat

3. 使用java.text.NumberFormat

4. 使用java.util.Formatter

5. 使用String.format

文章末尾给大家分享了更多的拓展知识,另外可以自己实现或者借用封装好的类库来实现,在这篇文章中就不一一列举了。 下面来看看详细的介绍。

一、使用BigDecimal,保留小数点后两位

public static String format1(double value) {

BigDecimal bd = new BigDecimal(value);

bd = bd.setScale(2, RoundingMode.HALF_UP);

return bd.toString();

}

二、使用DecimalFormat,保留小数点后两位

public static String format2(double value) {

DecimalFormat df = new DecimalFormat("0.00");

df.setRoundingMode(RoundingMode.HALF_UP);

return df.format(value);

}

三、使用NumberFormat,保留小数点后两位

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,保留小数点后两位

public static String format4(double value) {

/*

* %.2f % 表示 小数点前任意位数 2 表示两位小数 格式后的结果为 f 表示浮点型

*/

return new Formatter().format("%.2f", value).toString();

}

五、使用String.format来实现。

public static String format5(double value) {

return String.format("%.2f", value).toString();

}

扩展知识

String.format作为文本处理工具,为我们提供强大而丰富的字符串格式化功能。

对浮点数进行格式化

占位符格式为: %[index$][标识]*[最小宽度][.精度]转换符

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中保留两位小数多种写法的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

long类型保留两位小数_Java保留两位小数的几种写法总结相关推荐

  1. 用java编写保留两位小数_Java保留两位小数的几种写法总结

    摘要:这篇Java开发技术栏目下的"Java保留两位小数的几种写法总结",介绍的技术点是"Java保留两位小数.保留两位小数.两位小数.Java.小数.总结", ...

  2. java int 保留两位小数_java保留两位小数

    java保留两位小数问题: 方式一: 四舍五入 double   f   =   111231.5585; BigDecimal   b   =   new   BigDecimal(f); doub ...

  3. java int 保留两位小数_java 保留两位小数的几种方法

    1.代码: import java.math.BigDecimal; import java.text.DecimalFormat; import java.text.NumberFormat; pu ...

  4. java 两位小数_java保留两位小数及多位小数的方法 | 夕辞

    在JAVA代码开发中,我们经常用到对小数的处理,很多场景下要保留几位小数,比如在支付场景和订单中对金额的处理中,这个有很多方法,以下就介绍下常用的几种方法,我们以保留两位小数为例. [推荐]第一种:S ...

  5. java 保存2位小数_java 保留2位小数

    java 保留2位小数 java  保留2位小数  转载 方式一: 四舍五入 double   f   =   111231.5585; BigDecimal   b   =   new   BigD ...

  6. java字符串转换小数_java怎么将带小数的字符串 转换可以计算的数值类型

    展开全部 String str="4444.1122"; double num; java.text.DecimalFormat myformat=new java.text.De ...

  7. java取余位运算_Java中对于位运算的优化以及运用与思考

    引言 随着JDK的发展以及JIT的不断优化,我们很多时候都可以写读起来易读但是看上去性能不高的代码了,编译器会帮我们优化代码.之前大学里面学单片机的时候,由于内存以及处理器性能都极其有限(可能很多时候 ...

  8. long类型保留两位小数_java保留两位小数问题

    java 保留两位小数问题: 方式一: 四舍五入 double   f   =   111231.5585; BigDecimal   b   =   new   BigDecimal(f); dou ...

  9. java保留小数_java保留两位小数4种方法

    java保留两位小数4种方法 方法一:String的format方法(推荐) double f = 111231.5585; System.out.println(String.format(&quo ...

  10. java里相乘取两位小数_Java保留两位小数的几种做法

    在平时写程序的时,可以需要在界面或者页面上展示保留小数点后两位的数据.为了达到这样的展示效果,本文列举了几个方法: 使用java.math.BigDecimal 使用java.text.Decimal ...

最新文章

  1. c语言是字符串123变112233,Objective C学习第四节:OC里面的字符串和数值
  2. 论文排版中页码的设置方法
  3. 微信登录电脑,手机接收消息仍有提示音设置方法
  4. 微型计算机课程介绍,微机原理及应用课程教学大纲教案
  5. 详细学习ORACLE JOBS
  6. HTC 败诉对 Android 意味着什么?
  7. 微信小程序点播插件_微信小程序 wxParse插件显示视频问题
  8. 安装WordPress图解
  9. 零基础想学Python,明白这2点,越快年薪30W
  10. 为什么真正的神经元学得更快
  11. UVA - 208 Firetruck
  12. 解决FireFox(火狐浏览器)占用资…
  13. 简单迁移vps服务器
  14. hp服务器时间修改,HP服务器bios时间设置确认
  15. 用一块荣耀智慧屏,组成未来世界的万花筒
  16. c语言输出变量案例,C语言经典例题100例——C语言练习实例41解答(static静态变量的用法)...
  17. 【NLP】NLP标注工具Brat的简单使用
  18. BLDC电压和运动方程
  19. Django 学习小组:基于类的通用视图详解(一)
  20. MATLAB中画曲线网格

热门文章

  1. 华住集团股权曝光:季琦持股30.5% 雅高不再是股东
  2. 政考网:公务员考试申论写作想拿高分?只需知道这三点!
  3. 轻松理解java前期绑定(静态绑定)与后期绑定(动态绑定) 的区别。
  4. oracle实用教程选择题,第3章 表与表数据操作 Oracle实用教程(第3版)PPT.ppt
  5. LaTex幻灯片制作
  6. java贪吃蛇保存,Java 实现贪吃蛇游戏的示例
  7. JavaScript实现贪吃蛇游戏
  8. 计算机高配方案,电脑主机i5 9400F升10400/GTX1660Super高配吃鸡方案推荐
  9. 腾讯Docker云平台GaiaStack
  10. 在苹果Mac上如何隐藏桌面图标?