Topic: [转载]教你怎么格式化数字 |
Print this page |
1.[转载]教你怎么格式化数字 | Copy to clipboard |
Posted by: jerrylees654321 Posted on: 2003-03-21 11:46 //------------------------------------------------------------------------------ 最近经常有人问我有关数字格式化的问题,所以抽了点时间写了个简单的例子,希望对您有所帮助! //------------------------------------------------------------------------------ /** *格式化模板的语法: * *模板 := 正数模板{';'负数模板} //正负数模板要用分号隔开 *正数模板 := {模板前缀}数字{模板后缀}//数字前后 可以添加字符串 *负数模板 := {模板前缀}数字{模板后缀} *数字 := 整数部分{'.' 小数部分}{指数部分} *模板前缀 := '合法字符串'//用单引号括起来 如: '前缀'##.##'后缀' *模板后缀 := '合法字符串' *整数部分 := min_int | '#' | '#' integer | '#' ',' 整数//注意这是递归定义,整数部分可以有逗号 *min_int := '0' | '0' min_int | '0' ',' min_int *小数部分 := '0'* '#'* //小数部分不能有逗号,这是与整数部分唯一的区别 *指数部分 := 'E' '0' '0'* //合法:#.#E0,#.#E00, 非法: #.#E,#.#E# * * * 符号说明: * X* 0个或多个X * { X } 0个或1个X * X | Y X或者Y * * 如果您看不懂上面的语法,没关系,看下面程序的运行结果先. * //------------------------------------------------------------------ * 这只是个简单的测试程序,并没有实际的意义,意在帮助您理解上面的语法规则. * * 如果您有什么不清楚的可以直接与我联系. * author: HuangBin * Email: HuangBin0791@163.com */ import java.text.*; public class Untitled1 { public static void main(String[] args) { //--------------------------------------------- //定义一个数字格式化对象,格式化模板为".##",即保留2位小数. Decimalformat a = new Decimalformat(".##"); String s= a.format(333.335); System.err.println; //说明:如果小数点后面不够2位小数,不会补零. //--------------------------------------------- //----------------------------------------------- //可以在运行时刻用函数applyPattern(String)修改格式模板 //保留2位小数,如果小数点后面不够2位小数会补零 a.applyPattern(".00"); s = a.format(333.3); System.err.println; //------------------------------------------------ //------------------------------------------------ //添加千分号 a.applyPattern(".##\u2030"); s = a.format(0.78934); System.err.println; //------------------------------------------------ //------------------------------------------------ //添加百分号 a.applyPattern("#.##%"); s = a.format(0.78645); System.err.println; //------------------------------------------------ //------------------------------------------------ //添加前、后修饰字符串,记得要用单引号括起来 a.applyPattern("'这是我的钱$',###.###'美圆'"); s = a.format(33333443.3333); System.err.println; //------------------------------------------------ //------------------------------------------------ //添加货币表示符号(不同的国家,添加的符号不一样 a.applyPattern("\u00A4"); s = a.format(34); System.err.println; //------------------------------------------------ //----------------------------------------------- //定义正负数模板,记得要用分号隔开 a.applyPattern("0.0;'@'-#.0"); s = a.format(33); System.err.println; s = a.format(-33); System.err.println; //----------------------------------------------- } } |
Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1 客服电话 18559299278 客服信箱 714923@qq.com 客服QQ 714923 |