java.text.NumberFormat简单使用

java.text.NumberFormat简单使用原文地址:http://blog.sina.com.cn/s/blog_81851a660100smh0.htmlJava中API类NumberFormat提供了货币格式化,百分比格式化和数值格式化。需要语句import java.text.NumberFormat;一、货币格式化currency名,货币,流通。Instance名。例子,情况。Locale名,地方。Format名,动。格式。1、…


原文地址:http://blog.sina.com.cn/s/blog_81851a660100smh0.html

Java中API类NumberFormat提供了货币格式化,百分比格式化和数值格式化。需要语句import java.text.NumberFormat;

一、货币格式化

currency 名,货币,流通。Instance名。例子,情况。Locale名,地方。Format名,动。格式。

1、getCurrencyInstance()。静态方法,建立一个NumberFormat类的对象并返回引用,该引用指定货币格式为系统预设的货币格式。举例如下:

import java.text.NumberFormat;
public class NumberFormat001 {
 
 public static void main(String[] args){
 
     NumberFormat nf=NumberFormat.getCurrencyInstance();
 
     System.out.println(nf.format(123.658));
 
 }//main end
 
}

运行结果:¥123.56

2、getCurrencyInstance(Locale) 。静态方法,建立一个NumberFormat类的对象,并返回引用,该引用的货币格式由Locale指定。Locale类在java.util包中。举例如下:

import java.text.NumberFormat;

import java.util.Locale;

import java.util.Locale;

public class NumberFormat002 {

  public static void main(String[] args){

      //Locale locale=Locale.US;

      NumberFormat  nf=NumberFormat.getCurrencyInstance(Locale.US);

      System.out.println(nf.format(1236.258));

  }//main end

}//class end

运行结果:$1,236.26

3、format(anyNumberType)。返回由NumberFormat的静态方法所指定的输出格式,这个格式由字符串来表达。参数可以是数值类或者BigDecimal对象。不再举例。

二、百分比格式化

Percent名,百分数。Fraction名,片断,分数。Digit名,阿拉伯数字。Minimum最小的。Maximum最大的。

方法:

1、getPercentInstance()。静态方法,创建一个NumberFormat类的对象并返回其引用。该对象指定百分比格式为系统预设格式。

2、getPercentInstance(Locale)。静态方法,创建一个NumberFormat类的对象并返回引用。该对象的百分比格式由Locale来指定。

3、format(anyNumberType)。返回由NumberFormat的静态方法所指定的输出格式,这个格式由字符串来表达。参数可以是数值类型或者;BigDecimal对象。

举例如下:

import java.text.NumberFormat;

import java.util.Locale;

public class NumberFormat003 {

  public static void main(String[] args){

      double d=123.6958;

      NumberFormat nf=NumberFormat.getPercentInstance();

      System.out.println(nf.format(d));

      NumberFormat nf1=NumberFormat.getPercentInstance(Locale.CANADA);

      System.out.println(nf1.format(d));

  }//main end

}//class end

运行结果:

12,370%

12,370%

4、setMinimumFractionDigits(int)设置最少小数点位数

5、setMaximumFractionDigits(int)设置最多小数位数。

举例如下:

import java.text.NumberFormat;

import java.util.Locale;

public class NumberFormat003 {

  public static void main(String[] args){

      double d=123.6958;

      NumberFormat nf=NumberFormat.getPercentInstance();

      nf.setMinimumFractionDigits(4);//不足4位小数,则以0补位。

      System.out.println(nf.format(d));

      nf.setMaximumFractionDigits(1);//最多保留1位小数。

      System.out.println(nf.format(d));

      NumberFormat nf1=NumberFormat.getPercentInstance(Locale.CANADA);

      System.out.println(nf1.format(d));

      nf1.setMaximumFractionDigits(1);//最多保留1位小数,如无小数不补0。

      System.out.println(nf1.format(d));

       System.out.println(nf1.format(258));

  }//main end

}//class end

运行结果:

12,369.5800%

12,369.6%

12,370%

12,369.6%

25,800%

三、数值格式化

方法:getNumberInstance();getNumberInstance(Locale);format(anyNumberType);setMinimumFractionDigits(int);setMaximumFractionDigits(int)。方法解释与百分比格式化类似,不再详述。举例如下:

import java.text.NumberFormat;

import java.util.Locale;

public class NumberFormat004 {

  public static void main(String[] args){

      double d=123456.3698;

      NumberFormat nf=NumberFormat.getNumberInstance();

      System.out.println(nf.format(d));

      nf.setMinimumFractionDigits(4);

      System.out.println(nf.format(d));

      NumberFormat nf01=NumberFormat.getNumberInstance(Locale.US);

      System.out.println(nf01.format(d));

      nf01.setMaximumFractionDigits(1);

      System.out.println(nf01.format(d));

  }//main end

}//class end

运行结果:

123,456.3698

123,456.37

123,456.4

四、用NumberFormat类的子类DecimalFormat来完成。

import  java.text.DecimalFormat;

DecimalFormat提供了许多用来规定数字格式的模式字符串,进行对数字的格式化处理。本文只讨论常用的几种。

1、“0”——表示一位数值;如没有,显示0。如“0000.0000”,整数位>4,按实际输出,<4前面补0,凑足4位,多余小数四舍五入。

2、“#”——表示任何位数的整数。如没有,则不显示。在小数点模式后使用,只表示一位小数;四舍五入。如:

# 无小数,小数部分四舍五入。

.# 整数部分不变,一位小数,四舍五入。

.## 整数部分不变,二位小数,四舍五入。

3、“.”——表示小数点模式。

4、“,”与模式“0”一起使用,表示逗号。举例如下:

import java.text.DecimalFormat;

import java.text.NumberFormat;

public class DecimalFormat001 {

 public static void main(String[] args){
    double d1=123456.36987,d2=12.3698;

        DecimalFormat nf=new DecimalFormat("0000.000");
        System.out.println("d1="+nf.format(d1)+"  d2="+nf.format(d2));//12345.370 0012.370

        nf=new DecimalFormat("#");
        System.out.println("d1="+nf.format(d1));//123456

        nf=new DecimalFormat(".#");
        System.out.println("d1="+nf.format(d1)); //123456.4

        nf=new DecimalFormat(".###");
        System.out.println("d1="+nf.format(d1)); //123456.370

        nf=new DecimalFormat("0000,0000.0000");
        System.out.println("d1="+nf.format(d1));//123,456.3699
 }//main end

}//class

今天的文章java.text.NumberFormat简单使用分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/12906.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注