DecimalFormat数字格式化
DecimalFormat可以按照需要格式化数字,下面简单介绍一下几种使用。其中自己也踏踏实实踩了坑,谨此记录。 保留位数设置
public class DecimalUtils {
//保留2位,不足补0
private static final DecimalFormat df_fill_zero = new DecimalFormat("00.00");
//保留2位,不足保留原位数
private static final DecimalFormat df_fill_null = new DecimalFormat("##.##");
public static void main (String args[]) {
System.out.println(df_fill_zero.format(1.2)); //01.20 不足2位补0
System.out.println(df_fill_null.format(1.2)); //1.2 不足2位保留原数位
System.out.println(df_fill_zero.format(1.224)); //01.22 超出2位截断(舍入模式后面再说)
System.out.println(df_fill_null.format(1.224)); //1.22 超出2位截断(舍入模式后面再说)
System.out.println(df_fill_zero.format(123.22)); //123.22
System.out.println(df_fill_null.format(123.22)); //123.22
}
}
运行结果:
01.20
1.2
01.22
1.22
123.22
123.22
舍入模式
默认舍入模式
public class FormatDefault {
//保留3位,不足保留原位数
private static final DecimalFormat df_t = new DecimalFormat("#.###");
public static void main (String args[]) {
//默认舍入模式(RoundingMode.HALF_EVEN)
System.out.println(df_t.format(1234.2224)); //1234.222
System.out.println(df_t.format(1234.2226)); //1234.223
System.out.println(df_t.format(1234.2225)); //1234.223 最后一位偶数,舍入
System.out.println(df_t.format(1234.2235)); //1234.223 最后一位奇数,舍去
}
}
四舍五入模式
public class FormatHalfUp {
/***
* 最多保存3位小数,如果number少于3位则保留原小数位数,如果多于3位则四舍五入保留3位小数
*/
public static String formatHalfUp(double number) {
DecimalFormat df = new DecimalFormat("#.###");
df.setRoundingMode(RoundingMode.HALF_UP);
return df.format(BigDecimal.valueOf(number)); //防止精度丢失,数字类型用BigDecimal
}
public static void main (String args[]) {
//四舍五入舍入模式(RoundingMode.HALF_UP)
System.out.println(formatHalfUp(1234.2224)); //1234.222
System.out.println(formatHalfUp(1234.2226)); //1234.223
System.out.println(formatHalfUp(1234.2225)); //1234.223
System.out.println(formatHalfUp(1234.2235)); //1234.224
}
}
DecimalFormat数字格式化的更多相关文章
- DecimalFormat数字格式化用法“0”和“#”的区别
1. 以“0”补位时: 如果数字少了,就会补“0”,小数和整数都会补: 如果数字多了,就切掉,但只切小数的末尾,整数不能切: 同时被切掉的小数位会进行四舍五入处理. 2. 以“#”补位时: 如果数字少 ...
- Java学习笔记 06 数字格式化及数学运算
一.数字格式化 DecimalFormat类 >>DecimalFormat是NumberFormat的子类,用于格式化十进制数,可以将一些数字格式化为整数.浮点数.百分数等.通过使用该类 ...
- Java SE基础部分——常用类库之NumberFormat(数字格式化)
数字格式化常用方法:DecimalFormat和NuberFormat. //2016060524 数字格式化学习 //数字格式化 两种方法 一种直接使用NumberFormat,另一种Decimal ...
- spring mvc4的日期/数字格式化、枚举转换
日期.数字格式化显示,是web开发中的常见需求,spring mvc采用XXXFormatter来处理,先看一个最基本的单元测试: package com.cnblogs.yjmyzz.test; i ...
- 数字格式化函数:Highcharts.numberFormat()
(转)数字格式化函数:Highcharts.numberFormat() 一.函数说明 该函数用于图表中数值的格式化,常见用途有数值精度控制.小数点符.千位符显示控制等. 二.函数使用 1.函 ...
- php实现数字格式化,数字每三位加逗号的功能函数
原地址:http://www.jb51.net/article/73781.htm php实现数字格式化,数字每三位加逗号的功能函数,具体代码如下: ? 1 2 3 4 5 6 7 8 9 10 11 ...
- (转)数字格式化函数:Highcharts.numberFormat()
一.函数说明 该函数用于图表中数值的格式化,常见用途有数值精度控制.小数点符.千位符显示控制等. 二.函数使用 1.函数构造及参数 Highcharts.numberFormat (Numbe ...
- PHP数字格式化,每三位逗号分隔数字,可以保留小数
在报价的时候为了给浏览者更清晰明确的数字,所以需要用到数字格式化,有两种方法,一种自己写函数,另一种当然是系统自带的,其实我更喜欢系统自带的. 先来系统简单的: string number_forma ...
- String.Format数字格式化参考
String.Format数字格式化输出 {0:N2} {0:D2} {0:C2} (转) 数字 {0:N2} 12.36 数字 {0:N0} 13 货币 {0:c2} $12.36 货币 {0:c4 ...
随机推荐
- ltp-ddt wdt_test
# @name Watchdog Timer getsupport,settimeout,getstatus,keepalive ioctl and write test# @desc Watchdo ...
- ppt怎么制作抖音快手快闪效果的倒计时动画?
ppt怎么制作快闪效果的倒计时动画? 1.首先,我们新建一个ppt,如下图: 2.然后我们在ppt中插入一个文本,文本内容为3,如下图: 3.然后我们将我们的文本设置为“Arial Black”,如下 ...
- 【leetcode】336. Palindrome Pairs
题目如下: 解题思路:对于任意一个word,要找出在wordlist中是否存在与之能组成回文的其他words,有两种思路.一是遍历wordlist:二是对word本身进行分析,找出能组成回文的word ...
- C/C++ 多线程注意事项
{ 1 父线程和子线程中的内存区是不一样的,如果涉及到堆内存应该注意,否则内存异常比无法解析的外部符号还要恐怖 }
- MAX3232 每次只有在上电后,再连接串口线正常——保护电阻。RS232防雷保护
转载:http://m.newsmth.net/article/Circuit/298517?p=1 转载:http://www.360doc.com/content/18/0719/13/57938 ...
- 【2019 Multi-University Training Contest 4】
01:https://www.cnblogs.com/myx12345/p/11644076.html 02: 03:https://www.cnblogs.com/myx12345/p/116478 ...
- supermarket
题目链接 题意:给你n个商品,商品的利润和商品的过期时间,商品必须在过期时间内卖才能算利润,每天只能卖一件商品,问利润最大值. 思路:用并查集+贪心的思路,先给商品从大到小排序,然后选择过期时间的根节 ...
- 'Error Domain=NSURLErrorDomain Code=-999' AFNetworking请求报错
早上请求app请求登录接口发现了下面的错误信息: Error Domain=NSURLErrorDomain Code=-999 "已取消" UserInfo={NSErrorFa ...
- python中socket理论
Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口.在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单 ...
- linux设备驱动第二篇:构造和运行模块
上一篇介绍了Linux驱动的概念,以及linux下设备驱动的基本分类情况及其各个分类的依据和差异,这一篇我们来描述如何写一个类似hello world的简单测试驱动程序.而这个驱动的唯一功能就是输 ...