文档章节

Java保留两位小数的几种做法

jemlin
 jemlin
发布于 2016/12/02 11:15
字数 325
阅读 2
收藏 0

在平时做项目时,可能有这样的业务需求:页面或界面上展示的数据保留小数点后两位。 
为了达到这样的展示效果,本文列举了几个方法: 
1. 使用java.math.BigDecimal 
2. 使用java.text.DecimalFormat 
3. 使用java.text.NumberFormat 
4. 使用java.util.Formatter 
5. 使用String.format 

本文给出上述5种方法的简单实现。 
代码如下: 

    //使用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来实现.这个方法其实和format4是一样的 
    public static String format5(double value) {  
        return String.format("%.2f", value).toString();  
    }  

© 著作权归作者所有

共有 人打赏支持
jemlin
粉丝 0
博文 3
码字总数 1029
作品 0
厦门
Android工程师
freemarker 数字格式化深入理解

一、使用内建函数c 特点: 不管其表现形式是怎样的(例如"123,456.123,456"、"123456.123456"、"000123456.123456000"、"123,456.123456"、"1,2345,6.123456"),只要小数分割符是'.'它就能转...

毛朱
2013/01/24
0
0
java 两个整数相除保留两位小数

java中,当两个整数相除时,由于小数点以后的数字会被截断,运算结果将为整数,此时若希望得到运算结果为浮点数,必须将两整数其一或是两者都强制转换为浮点数。 例如: (float)a/b // 将整数...

浮躁的码农
2015/09/06
0
0
180706-BigDecimal除法的精度问题

BigDecimal除法的精度问题 在使用BigDecimal的除法时,遇到一个鬼畜的问题,本以为的精度计算,结果使用返回0,当然最终发现还是自己的使用姿势不对导致的,因此记录一下,避免后面重蹈覆辙 ...

小灰灰Blog
07/06
0
0
FreeMarker | 取值篇

第一部分:Spring Boot 集成 FreeMarker 1、 需要这些依赖 2、yml 我喜欢 yml,所以删掉 ,新建 3、配置 在 中添加如下配置 4、Controller - View 5、运行效果 第二部分:取值 1、学过 free...

Wenyi_Feng
06/14
0
0
怎么使float保留两位小数或多位小数

怎么使float保留两位小数或多位小数 两种方法: import java.math.*; …… 方法1: float f = 34.232323; BigDecimal b = new BigDecimal(f); float f1 = b.setScale(2, BigDecimal.ROUND_H......

IT_小翼
2013/01/16
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Linux下如何查看版本信息

Linux下如何查看版本信息, 包括位数、版本信息以及CPU内核信息、CPU具体型号等等,整个CPU信息一目了然。  1、# uname -a (Linux查看版本当前操作系统内核信息)   Linux localhost.l...

15834278076
28分钟前
0
0
单点登录 SSO 的实现原理

单点登录SSO(Single Sign On)说得简单点就是在一个多系统共存的环境下,用户在一处登录后,就不用在其他系统中登录,也就是用户的一次登录能得到其他所有系统的信任。 单点登录在大型网站里...

明理萝
28分钟前
1
1
虚拟机性能监控工具

前言 JVM调优流行这么一句话“无监控不调优”,因为如果没有监控,就不知道虚拟机的运行状况。更谈不上调优了,所以,学习和了解Java 虚拟机的监控工具很有必要。 概述 在Java虚拟机中经常用...

kukudeku
38分钟前
1
0
一行搞定electron和jquery冲突,electron和jquery最简单和完美的兼容方法

electron和jquery的常见报错: Uncaught ReferenceError: $ is not defined 解决方法:在jquery最末端加上这样一行判断即可. <script src="https://code.jquery.com/jquery-2.2.0.min.js"></s......

xiaogg
48分钟前
0
0
GC和内存管理

1、垃圾回收器需要关注的内容 ava运行时内存区域的各个部分中,程序计数器、虚拟机栈、本地方法栈这三个区域的生命周期和线程相关,栈中的栈帧随着方法的进入和退出执行着进栈和出栈,每一个...

京一
54分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部