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 阅读(146) 评论(0)  编辑  收藏 所属分类: J2SE


标题  
姓名  
主页
验证码 *  
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2008-03-21 15:36 编辑过
 
 
相关链接:
网站导航:

<2008年3月>
2425262728291
2345678
9101112131415
16171819202122
23242526272829
303112345

导航

统计

公告

 本人长期承接以下业务:苦力搬运,装卸,车工,钳工,焊工,水电工,瓦工,砸墙,砌墙,筛沙,油漆,通下水道,贴瓷砖,Vb,C++,.NET,C#,Java,ASP,PHP,汇编,PC&手机游戏开发,网络维护管理,3维建模,照片上色,平面设计,flash动画,硬件设计,四六级替考,办证,黑枪,黑车,暗杀,洗钱,要债,高额贷款,汽车及自行车修理,代办验车,出售假车牌,公路&越野新手教学,走私,代写小学生假期作业,打架,私人侦探,割双眼皮,美容,隆胸。并长期出售假钞,假发票,迷药,窃听器,各种武器炸药等

代写小学生寒暑假作业.替小学生打同学—收费标准
寒假作业  12元
暑假作业  14元
打同学 身高1.3m-1.6m   18元
打女老师25元   男30元   校长40元   体育老师价格面议


E-mail:daizhenghenry@gmail.com   
QQ:396587616

常用链接

留言簿

随笔分类(14)

随笔档案(14)

友情链接

搜索

积分与排名

最新评论

阅读排行榜

评论排行榜