DecimalFormat数字格式化
2024-10-07 15:38:34
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
}
}
最新文章
- JSP 页面缓存以及清除缓存
- linux第2天 信号 wait
- ie6下 gif动画不动
- codeforces D. Count Good Substrings
- UIImageView添加边框和阴影
- EasyUI - Resizable 调整大小
- 深入理解Session与Cookie(一)
- Mybatis 系列10
- HTML学习之制作导航网页
- vue文档全局api笔记1
- 蓝牙协议分析(4)_IPv6 Over BLE介绍
- javascript打印1-100内的质数
- Spring bean默认为单例模式会引发并发问题吗
- 《Gogoing》Alpha版使用说明
- O2O、C2C、B2B、B2C
- 【原】解决Debug JDK source 无法查看局部变量的问题方案(重新编译rt.jar包)
- #阿里云#云服务器部署Django(基础篇)
- Node.js Cookie管理
- [翻译] BezierString
- 78. Subsets(回溯)