有关格式化数字和复合字符串的例子

来源:互联网 发布:送货统计软件 编辑:程序博客网 时间:2024/05/17 07:07

/*
 *这个程序演示的是把数字格式化成指定Locale环境下的相关数字、货币、百分比表示的操作和格式化复合字符串的操作。
 *这两种操作的思路和格式化日期和时间类似。
 */

package com.lwj.demo;

import java.text.*;

public class Number_MessageFormatDemo {

 public static void main(String[] args) {
  // Locale currentLocale=Locale.FRANCE;
  // NumberFormat formatter=NumberFormat.getNumberInstance();//currentLocale);
  // NumberFormat formatter=NumberFormat.getCurrencyInstance();
  // NumberFormat formatter=NumberFormat.getPercentInstance();
  DecimalFormatSymbols decimalFormatSymbols = DecimalFormatSymbols
    .getInstance();
// 用DecimalFormatSymbols类可以设置相关的符号,如下面的把人民币符号“¥”改为“人民币”

  decimalFormatSymbols.setCurrencySymbol("人民币");
  DecimalFormat formatter = new DecimalFormat("¤,###.##",
    decimalFormatSymbols);
// "¤,###.##"就是所谓的模式(pattern),¤表示以货币形式格式化数字。
  String str = formatter.format(2514789.5685);
  System.out.println(str);

  // 以下演示的是格式化字符串的操作。
  int fileCount = 1273;
  String diskName = "MyDisk";
  Object[] testArgs = { new Long(fileCount), diskName };// 这个对象数组testArgs是MessageFormat对象的format()所需要的

  MessageFormat form = new MessageFormat(
    "The disk /"{1}/" contains {0} file(s).");
// "The disk /"{1}/" contains {0} file(s)."就是所谓的模式(pattern),其中的{1}、{0}在调用format()时用作为参数的对象数组testArgs所代换

  str=form.format(testArgs);
  System.out.println(str);
 }

}

 

运行结果为:

人民币2,514,789.57
The disk "MyDisk" contains 1,273 file(s).

原创粉丝点击