NumberFormat Java中的format方法

时间:2013-09-13 10:19:55

标签: java text io number-formatting

有人知道this方法的任何实际用途吗?

  

格式

     

public StringBuffer format(对象编号,                     StringBuffer toAppendTo,                     FieldPosition pos)

     

格式化数字并将结果文本附加到给定字符串   缓冲。该数字可以是Number的任何子类。

StringBuffer如何与FieldPosition(整数/分数)互动。

简而言之,现实代码示例非常有用。

1 个答案:

答案 0 :(得分:2)

格式化一个long值并打印出long的整数部分的开始和结束索引:

    // Get a default NumberFormat instance.
    NumberFormat numForm = NumberFormat.getInstance();

    // Format some longs using the pattern supplied above.
    StringBuffer dest1 = new StringBuffer(24);
    StringBuffer dest2 = new StringBuffer(24);
    FieldPosition pos = new FieldPosition(NumberFormat.INTEGER_FIELD);

    dest1 = numForm.format(223423L, dest1, pos);
    System.out.println("dest1 = " + dest1);
    System.out.println("INTEGER portion is at: " + pos.getBeginIndex() +
        ", " + pos.getEndIndex());

    dest2 = numForm.format(64000L, dest2, pos);
    System.out.println("dest2 = " + dest2);
    System.out.println("INTEGER portion is at: " + pos.getBeginIndex() +
        ", " + pos.getEndIndex());

输出:

dest1 = 223,423

INTEGER部分位于:0,7

dest2 = 64,000

INTEGER部分位于:0,6