DecimalFormat格式化数字

DecimalFormat格式化数字

DecimalFormat类也是Format的一个子类,主要作用是格式化数字。当然,在格式化数字时要比直接使用NumberFormat更加 方便,因为可以直接指定按用户自定义的方式进行格式化操作,与SimpleDateFormat类似,如果要进行自定义格式化操作,则必须指定格式化操作 的模板,此模板如表11-13所示。

表11-13  DecimalFormat格式化模板


序号


标  记


位  置


描  述


1


0


数字


代表阿拉伯数字,每一个0表示一位阿拉伯数字,

如果该位不存在则显示0


2


#


数字


代表阿拉伯数字,每一个#表示一位阿拉伯数字,

如果该位不存在则不显示


3


.


数字


小数点分隔符或货币的小数分隔符


4


-


数字


代表负号


5


,


数字


分组分隔符


6


E


数字


分隔科学计数法中的尾数和指数


7


;


子模式边界


分隔正数和负数子模式


8


%


前缀或后缀


数字乘以100并显示为百分数


9


\u2030


前缀或后缀


乘以1000并显示为千分数


10


¤

\u00A4


前缀或后缀


货币记号,由货币号替换。如果两个同时出现,

则用国际货币符号替换;如果出现在某个模式中

,则使用货币小数分隔符,而不使用小数分隔符


11


,


前缀或后缀


用于在前缀或后缀中为特殊字符加引号,例如

 "'#'#" 将 123 格式化为 "#123"。要创建单引

号本身,则连续使用两个单引号,例如"# o''clock"

 

示例:

 1         DecimalFormat format1=new DecimalFormat("000.00");
 2         System.out.println("Test.main()"+format1.format(12.345));//012.34 小数点前和后缺数补零,小数点后多数截取,6上进一
 3
 4         DecimalFormat format2=new DecimalFormat("##.##");
 5         System.out.println("Test.main()"+format2.format(3.456));//3.46 小数点前和后缺数不补0,小数点后多数截取,6上进一
 6
 7         DecimalFormat format3=new DecimalFormat("000,000,000.000" );
 8         System.out.println("Test.main()"+format3.format(43215696.4562286));//043,215,696.456 数字前的分隔符
 9
10         DecimalFormat format4=new DecimalFormat("#.##%");
11         System.out.println("Test.main()"+format4.format(4.5));//450%
12
13         DecimalFormat format5=new DecimalFormat("#.##\u2030");
14         System.out.println("Test.main()"+format5.format(0.0002));//千分号0.2‰
15
16         DecimalFormat format6=new DecimalFormat("'这是我的钱$'##.##");//数字前后修饰符(修饰文字用''隔开)  这是我的钱$123.2
17         System.out.println("Test.main()"+format6.format(123.2));
18         

View Code

 

时间: 2024-11-01 03:07:32

DecimalFormat格式化数字的相关文章

使用Formatnumber()与Formatpercent()格式化数字

VBScript有两个用于格式化数字的负数.用函数Formatnumber(),你可以指定小数点后的显示位数,是否显示前导的零,显示负数时是否使用空格,和是否使用分隔符等.下面是一些例子及其返回值:<%=Formatnumber(6665.8999)%>6,665.90<%=Formatnumber("6665.8999")%>6,665.90<%=Formatnumber(6665.8999,3)%>6,665.900<%=Formatnum

《Python语言程序设计》——3.6 格式化数字和字符串

3.6 格式化数字和字符串 关键点:你可以使用format函数返回格式化的字符串. 我们常常希望显示某种格式的数字.例如:已知数额和年利率,下面是计算利息的代码. 因为利息数是货币,因此我们希望只是显示小数点后两位数.为了达到这点要求,我们编写如下代码. 然而,格式依旧不正确.小数点后应该有两位小数,就像16.40而不是16.4.你可以使用format函数来修改它,如下所示. 调用这个函数的语法是: 上面的item是数字或者字符串,而格式说明符(format-specifier)指定条目item

OWC11在window Server 2008标准版64位中无法格式化数字

问题描述 OWC11在windowServer2008标准版64位或者windowServer2008R2标准版64位操作系统中,格式化数字(NumberFormat)时,提示无效的类字符串,跟踪代码现在,在实例化OWC11.PrivotTableClass时,一些属性报错,其中:ActiceData提示COM组件的调用返回了错误:ActiceObject为NULL或者提示为空的异常信息:Connection.DataMember.DataMemberString.Parent.UserMode

php 格式化数字的时候注意数字的范围_php技巧

构造sql语句是 比起来 复制代码 代码如下: $sql = 'SELECT * FROM sdb_comments WHERE goods_id = '.intval($goods_id).' AND for_comment_id IS NULL AND object_type = ".$item." AND disabled="false" AND display = "true"'; 我更喜欢这样做: 复制代码 代码如下: $sql = s

JS格式化数字保留两位小数点示例代码_javascript技巧

问题:在JS中格式化数据保留两位小数的函数的多种方法 最好方法: 保留两位好像是这样吧 复制代码 代码如下: var a = 9.39393; alert(a.toFixed(2)); 说明: alert(Number.toFixed(9.39393)); 返回的是9.39 但是只有ie5.5以上的版本才支持. 其它方法: function roundFun(numberRound,roundDigit) //四舍五入,保留位数为roundDigit { if (numberRound>=0)

js prototype 格式化数字 By shawl.qiu_javascript技巧

说明: 最近打算把 Js 练精点, 只好暂时放弃原来掌握的还行的 VBScript, 全面使用 Jscript/Javascript.  发现 VBs 和 Js 都有些双方没有的功能... 比如 Js 就没有 VBs 的 formatNumber, formatN*** 类的函数.  但是 Js 几乎随处可用 正则, 这是我的长处, 这点特吸引我, 不像 VBs 只有 RegExp 使用域可以使用正则. 引用一本书里的一句话: The way to really learn a new prog

php number_format() 函数通过千位分组来格式化数字的实现代码_php技巧

定义和用法number_format() 函数通过千位分组来格式化数字. 语法number_format(number,decimals,decimalpoint,separator) 参数描述number 必需.要格式化的数字.如果未设置其他参数,则数字会被格式化为不带小数点且以逗号 (,) 作为分隔符. decimals可选.规定多少个小数.如果设置了该参数,则使用点号 (.) 作为小数点来格式化数字. decimalpoint可选.规定用作小数点的字符串. separator 可选.规定用

Java小例子:输出格式化数字

我们经常要将数字进行格式化,比如取2位小数,这是最常见的.Java 提供 DecimalFormat 类,帮你用最快的速度将数字格式化为你需要的样子.下面是 一个例子: import java.text.DecimalFormat; public class TestNumberFormat { public static void main(String[] args) { double pi = 3.1415927; // 圆周率 // 取一位整数 System.out.println(ne

ORACLE TO_CHAR函数格式化数字的出现空格的原因

  在这篇博客SQL挑战--如何高效生成编码里 面我由于需要将数字格式化为字符,像12需要格式化0012这样的字符,所以使用了TO_CHAR(数字,'0000')这样的写法,后面0000表示缺 省补零,测试过程中,我发发现TO_CHAR(number,'0000') 会多一个空格.有点纳闷为什么了会多一个空格. 后面经过查看官方文档.同事讨论以及网友提供的资料,终于把这个问题给弄清楚了.下面梳理.总结于此,希望对其它人有所帮助. 在官方文档https://docs.oracle.com/cd/B