Java开发网 Java开发网
注册 | 登录 | 帮助 | 搜索 | 排行榜 | 发帖统计  

您没有登录

» Java开发网 » Java SE 综合讨论区  

按打印兼容模式打印这个话题 打印话题    把这个话题寄给朋友 寄给朋友    该主题的所有更新都将Email到你的邮箱 订阅主题
flat modethreaded modego to previous topicgo to next topicgo to back
作者 [转载]教你怎么格式化数字
jerrylees654321





发贴: 14
积分: 0
于 2003-03-21 11:46 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
//------------------------------------------------------------------------------
最近经常有人问我有关数字格式化的问题,所以抽了点时间写了个简单的例子,希望对您有所帮助!
//------------------------------------------------------------------------------
/**
*格式化模板的语法:
*
*模板 := 正数模板{';'负数模板} //正负数模板要用分号隔开
*正数模板 := {模板前缀}数字{模板后缀}//数字前后 可以添加字符串
*负数模板 := {模板前缀}数字{模板后缀}
*数字 := 整数部分{'.' 小数部分}{指数部分}
*模板前缀 := '合法字符串'//用单引号括起来 如: '前缀'##.##'后缀'
*模板后缀 := '合法字符串'
*整数部分 := 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.printlnMoon;
//说明:如果小数点后面不够2位小数,不会补零.
//---------------------------------------------

//-----------------------------------------------
//可以在运行时刻用函数applyPattern(String)修改格式模板
//保留2位小数,如果小数点后面不够2位小数会补零
a.applyPattern(".00");
s = a.format(333.3);
System.err.printlnMoon;
//------------------------------------------------

//------------------------------------------------
//添加千分号
a.applyPattern(".##\u2030");
s = a.format(0.78934);
System.err.printlnMoon;
//------------------------------------------------

//------------------------------------------------
//添加百分号
a.applyPattern("#.##%");
s = a.format(0.78645);
System.err.printlnMoon;
//------------------------------------------------

//------------------------------------------------
//添加前、后修饰字符串,记得要用单引号括起来
a.applyPattern("'这是我的钱$',###.###'美圆'");
s = a.format(33333443.3333);
System.err.printlnMoon;
//------------------------------------------------

//------------------------------------------------
//添加货币表示符号(不同的国家,添加的符号不一样
a.applyPattern("\u00A4");
s = a.format(34);
System.err.printlnMoon;
//------------------------------------------------

//-----------------------------------------------
//定义正负数模板,记得要用分号隔开
a.applyPattern("0.0;'@'-#.0");
s = a.format(33);
System.err.printlnMoon;
s = a.format(-33);
System.err.printlnMoon;
//-----------------------------------------------

}
}




为什么这个Applet不能在浏览器显示啊?

话题树型展开
人气 标题 作者 字数 发贴时间
3439 [转载]教你怎么格式化数字 jerrylees654321 2752 2003-03-21 11:46

flat modethreaded modego to previous topicgo to next topicgo to back
  已读帖子
  新的帖子
  被删除的帖子
Jump to the top of page

   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