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.     }  

你可能感兴趣的:(java)