Java数字、货币格式化

 

package com.tq365.util;

import java.text.NumberFormat;
import java.util.Locale;

public class FormatTest {

public static void main(String[] args) {
//无格式化输出
double d=10000.0/3.0;
System.out.println(
"无格式化输出:"+d);

NumberFormat numberFormat
=NumberFormat.getNumberInstance();
//保留四位小数
//numberFormat.setMaximumFractionDigits(4);
//小数点前六位数字
//numberFormat.setMinimumIntegerDigits(6);
//System.out.println(numberFormat.format(d));
//本地默认格式3,333.333
System.out.println(numberFormat.format(d));

//使用本地默认格式输出货币值
NumberFormat currentFormat=NumberFormat.getCurrencyInstance();
//¥3,333.33
System.out.println("本地默认格式输出货币值:"+currentFormat.format(d));

//使用本地默认格式输出百分数
NumberFormat percentFormat=NumberFormat.getPercentInstance();
System.out.println(
"本地默认格式输出百分数:"+percentFormat.format(d));

//使用美国货币输出形式
NumberFormat currentFormatUS=NumberFormat.getCurrencyInstance(Locale.US);
//$3,333.33
System.out.println("美国货币输出形式:"+currentFormatUS.format(d));

}
}

 

DecimalFormat

  1. import java.text.DecimalFormat;  
  2.    
  3. public class TestNumberFormat {  
  4.    
  5.     public static void main(String[] args) {  
  6.         double pi = 3.1415927;  // 圆周率  
  7.         // 取一位整数  
  8.         System.out.println(new DecimalFormat("0").format(pi));      // 3  
  9.         // 取一位整数和两位小数  
  10.         System.out.println(new DecimalFormat("0.00").format(pi));   // 3.14  
  11.         // 取两位整数和三位小数,整数不足部分以 0 填补。  
  12.         System.out.println(new DecimalFormat("00.000").format(pi)); // 03.142  
  13.         // 取所有整数部分  
  14.         System.out.println(new DecimalFormat("#").format(pi));      // 3  
  15.         // 以百分比方式计数,并取两位小数  
  16.         System.out.println(new DecimalFormat("#.##%").format(pi));  // 314.16%  
  17.    
  18.         long c = 299792458;     // 光速  
  19.         // 显示为科学计数法,并取五位小数  
  20.         System.out.println(new DecimalFormat("#.#####E0").format(c));   // 2.99792E8  
  21.         // 显示为两位整数的科学计数法,并取四位小数  
  22.         System.out.println(new DecimalFormat("00.####E0").format(c));   // 29.9792E7  
  23.         // 每三位以逗号进行分隔。  
  24.         System.out.println(new DecimalFormat(",###").format(c));       // 299,792,458  
  25.         // 将格式嵌入文本  
  26.         System.out.println(new DecimalFormat("光速大小为每秒 ,### 米。").format(c));  
  27.     }  

posted on 2010-12-17 17:34  archie2010  阅读(1372)  评论(0编辑  收藏  举报