Java中对数字格式化

最近正在利用业余时间重新学习j2se的一些知识,因为感觉以前学得太过粗糙了,有时间的话我会把所接触的一些比较新颖的知识在这里写下,愿与大家共同分享,一起进步。今天就说说java中数字的格式化。
java.text.DecimalFormat类就是专门对数字进行格式化的。通过对该类的应用,可以为要输出的数字加上单位,或者控制数字的精度,用法:可以在DecimalFormat实例化时传递格式,也可通过对象调用applyPattern方法来实现设置格式。
代码演示如下:
package formatnumber;

import java.text.DecimalFormat;

public class FormatNumber {

        
public static void main(String[] args) {
                DecimalFormat df 
= new DecimalFormat();
                
double data = 1234.56789;
                System.out.println(
"格式化之前的数字: " + data);
                String style 
= "0.0";//定义要显示的数字的格式
                df.applyPattern(style);// 将格式应用于格式化器
                System.out.println("采用style: " + style + "格式化之后: " + df.format(data));
                style 
= "00000.000 kg";//在格式后添加诸如单位等字符
                df.applyPattern(style);
                System.out.println(
"采用style: " + style + "格式化之后: " + df.format(data));
                
// 模式中的"#"表示如果该位存在字符,则显示字符,如果不存在,则不显示。
                style = "##000.000 kg";
                df.applyPattern(style);
                System.out.println(
"采用style: " + style + "格式化之后: " + df.format(data));
                
// 模式中的"-"表示输出为负数,要放在最前面
                style = "-000.000";
                df.applyPattern(style);
                System.out.println(
"采用style: " + style + "格式化之后: " + df.format(data));
                
// 模式中的","在数字中添加逗号,方便读数字
                style = "-0,000.0#";
                df.applyPattern(style);
                System.out.println(
"采用style: " + style + "格式化之后: " + df.format(data));
                
// 模式中的"E"表示输出为指数,"E"之前的字符串是底数的格式,
                
// "E"之后的是字符串是指数的格式
                style = "0.00E000";
                df.applyPattern(style);
                System.out.println(
"采用style: " + style + "格式化之后: " + df.format(data));
                
// 模式中的"%"表示乘以100并显示为百分数,要放在最后。
                style = "0.00%";
                df.applyPattern(style);
                System.out.println(
"采用style: " + style + "格式化之后: " + df.format(data));
                
// 模式中的"\u2030"表示乘以1000并显示为千分数,要放在最后。
                style = "0.00\u2030";
                
//在构造函数中设置数字格式
                DecimalFormat df1 = new DecimalFormat(style);
                
//df.applyPattern(style);
                System.out.println("采用style: " + style + "格式化之后: " + df1.format(data));
        }

}


程序运行结果为:
格式化之前的数字: 1234.56789
采用style: 0.0格式化之后: 1234.6
采用style: 00000.000 kg格式化之后: 01234.568 kg
采用style: ##000.000 kg格式化之后: 1234.568 kg
采用style: -000.000格式化之后: -1234.568
采用style: -0,000.0#格式化之后: -1,234.57
采用style: 0.00E000格式化之后: 1.23E003
采用style: 0.00%格式化之后: 123456.79%
采用style: 0.00‰格式化之后: 1234567.89‰

posted on 2008-03-06 15:23 非凡DZ 阅读(7366) 评论(0)  编辑  收藏 所属分类: J2SE


只有注册用户登录后才能发表评论。


网站导航:
 
<2008年3月>
2425262728291
2345678
9101112131415
16171819202122
23242526272829
303112345

导航

统计

常用链接

留言簿(2)

随笔分类(19)

随笔档案(19)

友情链接

搜索

积分与排名

最新评论

阅读排行榜

评论排行榜