DecimalFormat格式化十进制数字
DecimalFormat 是 NumberFormat 的一个具体子类,用于格式化十进制数字。该类设计有各种功能,使其能够分析和格式化任意语言环境中的数,包括对西方语言、阿拉伯语和印度语数字的支持。它还支持不同类型的数,包括整数 (123)、定点数 (123.4)、科学记数法表示的数 (1.23E4)、百分数 (12%) 和金额 ($123)。所有这些内容都可以本地化。
DecimalFormat 包含一个模式 和一组符号
符号含义:
|
符号 |
位置 |
本地化? |
含义 |
|
0 |
数字 |
是 |
阿拉伯数字 |
|
# |
数字 |
是 |
阿拉伯数字,如果不存在则显示为空 |
|
. |
数字 |
是 |
小数分隔符或货币小数分隔符 |
|
- |
数字 |
是 |
减号 |
|
, |
数字 |
是 |
分组分隔符 |
|
E |
数字 |
是 |
分隔科学计数法中的尾数和指数。在前缀或后缀中无需加引号。 |
|
; |
子模式边界 |
是 |
分隔正数和负数子模式 |
|
% |
前缀或后缀 |
是 |
乘以 100 并显示为百分数 |
|
/u2030 |
前缀或后缀 |
是 |
乘以 1000 并显示为千分数 |
|
¤(/u00A4) |
前缀或后缀 |
否 |
货币记号,由货币符号替换。如果两个同时出现,则用国际货币符号替换。如果出现在某个模式中,则使用货币小数分隔符,而不使用小数分隔符。 |
|
' |
前缀或后缀 |
否 |
用于在前缀或或后缀中为特殊字符加引号,例如 "'#'#" 将 123 格式化为 "#123"。要创建单引号本身,请连续使用两个单引号:"# o''clock"。 |
例子:
DecimalFormat df = new DecimalFormat("000000");
System.out.println(df.format(10));//000010
DecimalFormat df1 = new DecimalFormat("0.0");
System.out.println(df1.format(12.3453)+"--"+df1.format(12.355));//12.3--12.4
DecimalFormat df2 = new DecimalFormat("000.000");
System.out.println(df2.format(12.3453)+"--"+df2.format(12.355));//012.345--012.355
DecimalFormat df3 = new DecimalFormat("#.#");
System.out.println(df3.format(12.3453)+"--"+df3.format(12.355));//12.3--12.4
DecimalFormat df4 = new DecimalFormat("###.###");
System.out.println(df4.format(12.3453)+"--"+df4.format(12.355));//12.345--12.355
//中国式分割(四位一组)
DecimalFormat format = new DecimalFormat("###,####.000");
System.out.println(format.format(111111123456.1227222));// 1111,1112,3456.123
Locale.setDefault(Locale.US); //美国式分割(三位一组)
DecimalFormat usFormat = new DecimalFormat("###,###.000");
System.out.println(usFormat.format(111111123456.1227222)); //111,111,123,456.123
DecimalFormat addPattenFormat = new DecimalFormat();
addPattenFormat.applyPattern("##,###.000");
System.out.println(addPattenFormat.format(111111123456.1227)); //111,111,123,456.123
DecimalFormat zhiFormat = new DecimalFormat();
zhiFormat.applyPattern("0.000E0000");
System.out.println(zhiFormat.format(10000)); //1.000E0004
System.out.println(zhiFormat.format(12345678.345)); //1.235E0007
DecimalFormat percentFormat = new DecimalFormat();
percentFormat.applyPattern("#0.000%");
System.out.println(percentFormat.format(0.3052222));//30.522%
DecimalFormat格式化十进制数字的更多相关文章
- 用DecimalFormat格式化十进制数字的实际应用
在项目中,有时候我们需要将数字转换成特定的格式便于操作和使用.最常用的就是在操作价格数字的时候,需要将数字转换成小数点后保留两位小数,比如讲3.4转换成3.40 我们可以用DecimalFormat, ...
- DecimalFormat(用于格式化十进制数字)
1概念: DecimalFormat 是 NumberFormat 的一个具体子类,用于格式化十进制数字.该类设计有各种功能,使其能够分析和格式化任意语言环境中的数,包括对西方语言.阿拉伯语和印度语数 ...
- DecimalFormat格式化数字
DecimalFormat格式化数字 DecimalFormat类也是Format的一个子类,主要作用是格式化数字.当然,在格式化数字时要比直接使用NumberFormat更加 方便,因为可以直接指定 ...
- java基础之——DecimalFormat格式化数字
DecimalFormat可以用来格式化数字,例如用来设定保留多少位小数.设定数字分隔符等. 说方法之前,先介绍一下其常用的几个模式占位符: 0 一个数字# 一个数字,不包括 0. 小数的分隔符的占位 ...
- Java DecimalFormat 格式化数字
我们经常要将数字进行格式化,比如取2位小数,这是最常见的.Java 提供 DecimalFormat 类,帮你用最快的速度将数字格式化为你需要的样子.下面是一个例子: importjava.text. ...
- DecimalFormat格式化输出带小数的数字类型
刚開始 double d = 333333333.333333333; System.out.println(d); 输出结果为3.333333333333333E8 网上找到了DecimalForm ...
- 数值格式化 NumberFormat DecimalFormat RoundingMode
NumberFormat [简介] java.text.NumberFormat extends java.text.Format extends java.lang.Object 实现的接口:Ser ...
- 数值格式化 NumberFormat、 DecimalFormat、 RoundingMode
NumberFormat [简介] java.text.NumberFormat extends java.text.Format extends java.lang.Object 实现的接口:Ser ...
- (转)java DecimalFormat用法
DecimalFormat 是 NumberFormat 的一个具体子类,用于格式化十进制数字. DecimalFormat 包含一个模式 和一组符号 符号含义: 0 一个数字 # 一个数字, ...
随机推荐
- IntelliJ IDEA中创建Web聚合项目(Maven多模块项目)
Eclipse用多了,IntelliJ中创建Maven聚合项目可能有小伙伴还不太熟悉,我们今天就来看看. IntelliJ中创建普通的Java聚合项目相对来说比较容易,不会涉及到web操作,涉及到we ...
- .Net高并发解决思路(附源码)
本文如有不对之处,欢迎各位拍砖扶正.另源码在文章最下面,大家下载过后先还原一下nuget包,需要改一下redis的配置,rabbitmq的配置以及Ef的连接字符串.另外使用的是CodeFirst,先u ...
- scrapy爬虫学习系列二:scrapy简单爬虫样例学习
系列文章列表: scrapy爬虫学习系列一:scrapy爬虫环境的准备: http://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_python_00 ...
- Docker系列05—Docker 存储卷详解
本文收录在容器技术学习系列文章总目录 1.存储卷介绍 1.1 背景 (1)docker 的 AFUS 分层文件系统 docker镜像由多个只读层叠加面成,启动容器时,docker会加载只读镜像层并在镜 ...
- Spring Cloud Alibaba基础教程:支持的几种服务消费方式(RestTemplate、WebClient、Feign)
通过<Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现>一文的学习,我们已经学会如何使用Nacos来实现服务的注册与发现,同时也介绍如何通过LoadBal ...
- selinux基本
TE模型 主体划分为若干组,称为域 客体划分为若干组,每个组称为一个类型 DDT(Domain Definition Table,域定义表,二维),表示域和类型的对应访问权限,权限包括读写执行 一 ...
- Java开发笔记(二十二)神奇的冒号
Java中的标点符号主要有两类用途,一类是运算符,包括加号+.减号-.乘号*.除号/.取余号%.等号=.大于号>.小于号<.与号&.或号|.非号!.异或号^等等,另一类则是分隔符, ...
- angularjs+webapi2 跨域Basic 认证授权(二)
在上一篇中大概演示了 整个认证授权的过程.今天在这篇博客中将结合上一篇的例子继续在跨域的情况 我们用ionic 写一个简单的页面 值得注意的是 在ionic.bundle.js 里面集成了angula ...
- 03-HTML的body标签(文本标签)学习
<html> <head> <title>HTML的body标签-文本标签学习</title> <meta charset="utf ...
- select2 下拉无法显示
.select2-container--open{ z-index: 99999;}