您的位置:首页 > 移动开发 > Android开发

android DecimalFormat的用法介绍

2016-02-19 17:05 393 查看
 import java.text.*;

import java.util.*;

public class DecimalFormatSample {

 public static void main(String args[]) {

  DecimalFormat myformat1 = new DecimalFormat("###,###.0000");//使用系统默认的格式

  System.out.println(myformat1.format(111111123456.12));

  Locale.setDefault(Locale.US);

  DecimalFormat myformat2 = new DecimalFormat("###,###.0000");//使用美国的格式

  System.out.println(myformat2.format(111111123456.12));

  //----------------------------also use applypattern------------------------------//

  DecimalFormat myformat3 = new DecimalFormat();

  myformat3.applyPattern("##,###.000");

  System.out.println(myformat3.format(11112345.12345));

//-----------------控制指数输出-------------------------------------------------//

     DecimalFormat myformat4 = new DecimalFormat();

  myformat4.applyPattern("0.000E0000");

  System.out.println(myformat4.format(10000));

  System.out.println(myformat4.format(12345678.345));

//------------------百分数的输出-------------------------------------------//

/*     DecimalFormat是NumberFormat的一个子类,其实例被指定为特定的地区。因此,你可以使用NumberFormat.getInstance 指定一个地区,

然后将结构强制转换为一个DecimalFormat对象。文档中提到这个技术可以在大多情况下适用,但是你需要用try/catch 块包围强制转换以防转

换不能正常工作 (大概在非常不明显得情况下使用一个奇异的地区)。    */

       DecimalFormat myformat5 = null;

  try{

      myformat5 = (DecimalFormat)NumberFormat.getPercentInstance();

  }catch(ClassCastException e)

  {

   System.err.println(e); 

  }

  myformat5.applyPattern("00.0000%");

  System.out.println(myformat5.format(0.34567));

  System.out.println(myformat5.format(1.34567));

       

 

 }

/*---------------------------------运行结果-------------------------------------------//

 F:2004-04-12>java DecimalFormatSample

111,111,123,456.1200

111,111,123,456.1200

11,112,345.123

1.000E0004

1.235E0007

34.5670%

134.5670%

*/

}

 

 

 

 

1、DecimalFormat df=(DecimalFormat)NumberFormat.getInstance(); df.setMaximumFractionDigits(0); df.format(objectj);//格式化数据 2、 mport java.text.DecimalFormat; public class TestNumberFormat {     public static void main(String[] args) {         double pi = 3.1415927;  // 圆周率
        // 取一位整数         System.out.println(new DecimalFormat(“0″).format(pi));      // 3         // 取一位整数和两位小数         System.out.println(new DecimalFormat(“0.00″).format(pi));   // 3.14         // 取两位整数和三位小数,整数不足部分以 0 填补。         System.out.println(new DecimalFormat(“00.000″).format(pi)); // 03.142
        // 取所有整数部分         System.out.println(new DecimalFormat(“#”).format(pi));      // 3         // 以百分比方式计数,并取两位小数         System.out.println(new DecimalFormat(“#.##%”).format(pi));  // 314.16%         long c = 299792458;     // 光速         // 显示为科学计数法,并取五位小数
        System.out.println(new DecimalFormat(“#.#####E0″).format(c));   // 2.99792E8         // 显示为两位整数的科学计数法,并取四位小数         System.out.println(new DecimalFormat(“00.####E0″).format(c));   // 29.9792E7         // 每三位以逗号进行分隔。         System.out.println(new DecimalFormat(“,###”).format(c));       // 299,792,458
        // 将格式嵌入文本         System.out.println(new DecimalFormat(“光速大小为每秒 ,### 米。”).format(c));     } } DecimalFormat 类主要靠 # 和 0 两种占位符号来指定数字长度。0 表示如果位数不足则以 0 填充,# 表示只要有可能就把数字拉上这个位置
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: