JAVA语言规范(官方文档)一

java.lang.Object
   java.text.Format
       java.text.NumberFormat
          java.text.DecimalFormat


DecimalFormatNumberFormat 的一个具体子类,用于格式化十进制数字。

public class DecimalFormat
extends NumberFormat

DecimalFormatNumberFormat 的一个具体子类,用于格式化十进制数字。该类设计有各种功能,使其能够解析和格式化任意语言环境中的数,包括对西方语言、阿拉伯语和印度语数字的支持。它还支持不同类型的数,包括整数 (123)、定点数 (123.4)、科学记数法表示的数 (1.23E4)、百分数 (12%) 和金额 ($123)。所有这些内容都可以本地化。

要获取具体语言环境的 NumberFormat(包括默认语言环境),可调用 NumberFormat 的某个工厂方法,如 getInstance()。通常不直接调用 DecimalFormat 的构造方法,因为 NumberFormat 的工厂方法可能返回不同于 DecimalFormat 的子类。如果需要自定义格式对象,可执行:

 NumberFormat f = NumberFormat.getInstance(loc);
 if (f instanceof DecimalFormat) {
     ((DecimalFormat) f).setDecimalSeparatorAlwaysShown(true);
 }

简单的示例:

/**
 * @(#)DEMO.java
 *DecimalFormat 是 NumberFormat 的一个具体子类,用于格式化十进制数字。
 *
 * @author 
 * @version 1.00 2016/4/5
 */

import  java.text.DecimalFormat ;
public class DEMO {
  
   static public void customFormat(String pattern, double value ) {
      DecimalFormat myFormatter = new DecimalFormat(pattern);
      String output = myFormatter.format(value);
      System.out.println(value + "  " + pattern + "  " + output);
   }     
   static public void main(String[] args) {
      customFormat("###,###.###", 123456.789);
      customFormat("###.##", 123456.789);
      customFormat("000000.000", 123.78);
      customFormat("$###,###.###", 12345.67);  
  //对字符串改成5进制的数字
String base5String = "230";
int a = Integer.valueOf(base5String,10);//第二位10表示10进制,5则表示5进制
  System.out.println (a);
	}	
}

输出:--------------------Configuration: --------------------
123456.789  ###,###.###  123,456.789
123456.789  ###.##  123456.79
123.78  000000.000  000123.780
12345.67  $###,###.###  $12,345.67
230

Process completed.


你可能感兴趣的:(JAVA语言规范(官方文档)一)