网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.Spring事务处理及其AOP框架的内幕.
.基于tomcat5.5的数据库连接池环境.
.让你不苦恼:Java的中文编程配置.
.成员函数的重载.
.找回丢失的源代码.
.JBoss将Arjuna事务加入SOA.
.书评:Java的盛宴(中).
.面向服务架构(SOA)的原则.
.如何用servlet打开非HTML格式的文.
.编程方式部署jBPM工作流.
.javaswing9.27课程.
.利用Java芯片实现信息家电.
.tomcat5.5.9+sql2000数据库连接池.
.Struts 初学指南.
.java的io系统.
.将数字字符串转换成大写金额字符.
.利用Eclipse进行重构(下).
.使用Java技术在Cocoon中实现商业.
.final方法.
.开发基于JBoss的J2EE应用.

java中的格式化输出(类似C语言的printf)

发表日期:2008-1-5


前几天想在Java中用格式化输出,多亏rollingpig、zlzj2010等几位老大提示,现在我用text package中的NumberFormat和DecimalFomat实现了一把,给大家show一下,请多指教。

简单说明:

a.格式描述符:

1. L或l - 使数字左对齐(缺省是右对齐)
2. C或c - 使数字居中对齐(缺省是右对齐)
3. X或x - 显示数字为十六进制(缺省是十进制)
4. B或b - 显示数字为八进制(缺省是十进制)
5. ,(半角逗号)- 千位分隔符
6. S或s - 显示数字为科学记数法
7. Z或z - 用零填空位(缺省是空格)
8. w.d (两个整数用半角句号隔开)- 指定输出域宽及精度

b. "fillChar"是填空位符(缺省为空格)
--你可以用MyOut.fillChar = '*'或'$'来定义你自己的空位符

举例:
println(123.45678, "8.3L") -> 123.457(左对齐占八位)
println(123.45678, "10.3cs") ->  1.235E2 (居中占十位)
println(1234567, ",10") ->   1,234,567(右对齐占十位)

// class MyOut

import java.io.PrintStream;
import java.io.PrintWriter;
import java.io.OutputStreamWriter;
import java.text.DecimalFormat;
import java.text.NumberFormat;

/* Thanks to Prof. H.Roumani.(He is my java teacher, who is great.)
 * 
 * The format methods receive the value to be formatted (which can 
 * be of any type) and a format descriptor: a string that contains 
 * one or more of the following flags in any order and in any case: 
 *
 * L:
 *   By default, all values are aligned right within their field 
 *   width. If this flag is specified, left alignment is used instead.
 *   This flag has no effect if the field width is not specified. 
 * C:
 *   By default, all values are aligned right within their field 
 *   width. If this flag is specified, centre alignment is used instead.
 *   This flag has no effect if the field width is not specified. 
 * X:
 *   By default, all numeric values are shown in the decimal system. 
 *   If this flag is specified, hexadecimal is used instead (showing 
 *   IEEE-754 for real's). This flag has no effect if the value is not 
 *   numeric. 
 * B:
 *   By default, all numeric values are shown in the decimal system. 
 *   If this flag is specified, binary is used instead (showing 
 *   IEEE-754 for real's). This flag has no effect if the value is not 
 *   numeric. 
 * ,:
 *   By default, all numeric, base-10 values are shown without a 
 *   thousand-separator. If this flag is specified, a comma is inserted
 *   in the integer part of the number to separate thousands. This flag 
 *   has no effect if the value is not numeric, is not in decimal, or if 
 *   the scientific notation is used. 
 * S:
 *   By default, all numeric, base-10 values are shown as an integer part
 *   followed by a mantissa, or fractional part. If this flag is specified,
 *   scientific notation is used: One digits (possibly preceded by a minus 
 *   sign) followed by a decimal point, a mantissa, the letter 'E' and an 
 *   eXPonent. This flag has no effect if the value is not numeric or is not
 *   in decimal. 
 * Z:
 *   By default, all integer, base-10 values are shown with leading or 
 *   trailing spaces to fill the specified field width. If this flag is 
 *   specified, the field is filled with leading zeros instead. This flag is 
 *   only meaningful if the value is a base-10 integer, the width is specified,
 *   and the thousand-separator flag is not specified. 
 * w.d (two integers separated by a period):
 *   w is the desired width of the entire returned string, after formatting. 
 *   If the formatted string is shorter than w, it will be padded by leading 
 *   and/or trailing spaces (or some other fill character) depending on the 
 *   requested alignment (left, right, or centre). d is the desired number of 
 *   decimals and is meaningful only if the value is a base-10 real (in standard
 *   or scientific notation). Rounding to the specified number of decimals is 
 *   done using conventional rules but the case of 5 is handled by rounding to 
 *   the nearest even number (same as the rint method of the Math class). Note 
 *   that you can specify only w (in that case don't include the period), or 
 *   only d (in this last case do precede it by the period). 
 */


上一篇:关于创建Java.exe文件的几种方法 人气:642
下一篇:学习深入Java1.5枚举类型的内部 人气:1449
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐