Java开发网 |
注册 |
登录 |
帮助 |
搜索 |
排行榜 |
发帖统计
|
您没有登录 |
» Java开发网 » Java SE 综合讨论区
打印话题 寄给朋友 订阅主题 |
作者 | [转载]教你怎么格式化数字 |
jerrylees654321
发贴: 14 积分: 0 |
于 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; //----------------------------------------------- } } 为什么这个Applet不能在浏览器显示啊? |
话题树型展开 |
人气 | 标题 | 作者 | 字数 | 发贴时间 |
3439 | [转载]教你怎么格式化数字 | jerrylees654321 | 2752 | 2003-03-21 11:46 |
已读帖子 新的帖子 被删除的帖子 |
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 |