—————————————————————
java.text.NumberFormat类有三个方法可以产生下列数据的标准格式化器:
数字
货币
百分数
—————————————————————
创建格式化器(默认地区Local格式):
NumberFormat.getNumberInstance();
NumberFormat.getCurrencyInstance();
NumberFormat.getPercentInstance();
—————————————————————
例题:
double dbl=10000.0/3;
NumberFormat formatter=NumberFormat.getNumberInstance();
String s=formatter.format(x);
System.out.println(s);
—————————————————————
设定整数或小数部分所显示的最少和最多位数,可以使用NumberFormat类
的方法:
setMinimumIntegerDigits(int)
setMinimumFractionDigits(int)
setMaximumIntegerDigits(int)
setMaximumFractionDigits(int)
设定小数部分的最多位很有用处。如果小数部分丢失的第一位数字大于等于5,
那么显示的最后一位会增1(四舍五入)。如果要显示尾随的零,可以把小数部分的最少位等于最多位。
如果不想显示,可以把小数部分的最少位设定为0或不设定。
指定最多位整数相当危险,显示值将会被截断,产生一个错误的值。
—————————————————————
测试例题:
文件名TestNumberFormat.java
——————————————————–
java.text.NumberFormat类有三个方法可以产生下列数据的标准格式化器:
数字
货币
百分数
—————————————————————
创建格式化器(默认地区Local格式):
NumberFormat.getNumberInstance();
NumberFormat.getCurrencyInstance();
NumberFormat.getPercentInstance();
—————————————————————
例题:
double dbl=10000.0/3;
NumberFormat formatter=NumberFormat.getNumberInstance();
String s=formatter.format(x);
System.out.println(s);
—————————————————————
设定整数或小数部分所显示的最少和最多位数,可以使用NumberFormat类
的方法:
setMinimumIntegerDigits(int)
setMinimumFractionDigits(int)
setMaximumIntegerDigits(int)
setMaximumFractionDigits(int)
设定小数部分的最多位很有用处。如果小数部分丢失的第一位数字大于等于5,
那么显示的最后一位会增1(四舍五入)。如果要显示尾随的零,可以把小数部分的最少位等于最多位。
如果不想显示,可以把小数部分的最少位设定为0或不设定。
指定最多位整数相当危险,显示值将会被截断,产生一个错误的值。
—————————————————————
测试例题:
文件名TestNumberFormat.java
——————————————————–
- <pre name=“code” class=“java”>package com.zhang;
- import java.text.NumberFormat;
- import java.util.Locale;
- /**
- * <p>NumberFormat 是所有数值格式的抽象基类的应用</p>
- * @作者: zhangjunshuai
- * @日期: 2013-1-31 下午03:16:32
- * @描述:
- */
- public class NumberFormatTest {
- /**
- * 说明:
- * 1、NumberFormat.getInstance 返回当前缺省语言环境的缺省数值格式;
- * 2、NumberFormat.getCurrencyInstance(此处填写语言环境,如:Locale.US;可为空,为当前系统语言环境) 返回语言环境的金融格式
- * 3、NumberFormat.getPercentInstance(此处填写语言环境,如:Locale.US;可为空,为当前系统语言环境) 返回语言环境的百分比格式
- * 4、NumberFormat.getNumberInstance(此处填写语言环境,如:Locale.US;可为空,为当前系统语言环境) 返回语言环境的数值格式
- * 5、setNinimumFractionDigits() 设置数值的小数部分允许的最小位数
- * 6、setMaximumFractionDigits() 设置数值的小数部分允许的最大位数
- * 7、setMaximumIntegerDigits() 设置数值的整数部分允许的最大位数
- * 8、setMinimumIntegerDigits() 设置数值的整数部分允许的最大位数
- */
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- Double myNumber=23323.3323232323;
- Double test=0.3434;
- //getInstance()
- //返回当前缺省语言环境的缺省数值格式。
- String myString = NumberFormat.getInstance().format(myNumber);
- System.out.println(myString);
- //getCurrencyInstance()返回当前缺省语言环境的通用格式
- //myString = NumberFormat.getCurrencyInstance(Locale.US).format(myNumber);
- myString = NumberFormat.getCurrencyInstance().format(myNumber);
- System.out.println(”NumberFormat.getCurrencyInstance:”+myString);
- //getNumberInstance() 返回当前缺省语言环境的通用数值格式。
- myString = NumberFormat.getNumberInstance().format(myNumber);
- System.out.println(”NumberFormat.getNumberInstance():”+myString);
- //getPercentInstance() 返回当前缺省语言环境的百分比格式。
- myString = NumberFormat.getPercentInstance().format(test);
- System.out.println(”NumberFormat.getPercentInstance():”+myString);
- NumberFormat format = NumberFormat.getInstance();
- format.setMinimumFractionDigits( 3 );//setMinimumFractionDigits(int) 设置数值的小数部分允许的最小位数。
- format.setMaximumFractionDigits(5);//setMaximumFractionDigits(int) 设置数值的小数部分允许的最大位数。
- format.setMaximumIntegerDigits( 10 );//setMaximumIntegerDigits(int) 设置数值的整数部分允许的最大位数。
- format.setMinimumIntegerDigits(0);//setMinimumIntegerDigits(int) 设置数值的整数部分允许的最小位数.
- System.out.println(format.format(2132323213.23266666666));
- }
- }
- </pre><br>
- <br>
- <pre></pre>
- <br>
- <br>
- <br>
- <br>
- //================= 运行结果如下 =======================<br>
- 23,323.332<br>
- NumberFormat.getCurrencyInstance:¥23,323.33<br>
- NumberFormat.getNumberInstance():23,323.332<br>
- NumberFormat.getPercentInstance():34%<br>
- 2,132,323,213.23267
- package com.zhang;
- import java.text.NumberFormat;
- import java.util.Locale;
- /**
- * <p>NumberFormat 是所有数值格式的抽象基类的应用</p>
- * @作者: zhangjunshuai
- * @日期: 2013-1-31 下午03:16:32
- * @描述:
- */
- public class NumberFormatTest {
- /**
- * 说明:
- * 1、NumberFormat.getInstance 返回当前缺省语言环境的缺省数值格式;
- * 2、NumberFormat.getCurrencyInstance(此处填写语言环境,如:Locale.US;可为空,为当前系统语言环境) 返回语言环境的金融格式
- * 3、NumberFormat.getPercentInstance(此处填写语言环境,如:Locale.US;可为空,为当前系统语言环境) 返回语言环境的百分比格式
- * 4、NumberFormat.getNumberInstance(此处填写语言环境,如:Locale.US;可为空,为当前系统语言环境) 返回语言环境的数值格式
- * 5、setNinimumFractionDigits() 设置数值的小数部分允许的最小位数
- * 6、setMaximumFractionDigits() 设置数值的小数部分允许的最大位数
- * 7、setMaximumIntegerDigits() 设置数值的整数部分允许的最大位数
- * 8、setMinimumIntegerDigits() 设置数值的整数部分允许的最大位数
- */
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- Double myNumber=23323.3323232323;
- Double test=0.3434;
- //getInstance()
- //返回当前缺省语言环境的缺省数值格式。
- String myString = NumberFormat.getInstance().format(myNumber);
- System.out.println(myString);
- //getCurrencyInstance()返回当前缺省语言环境的通用格式
- //myString = NumberFormat.getCurrencyInstance(Locale.US).format(myNumber);
- myString = NumberFormat.getCurrencyInstance().format(myNumber);
- System.out.println("NumberFormat.getCurrencyInstance:"+myString);
- //getNumberInstance() 返回当前缺省语言环境的通用数值格式。
- myString = NumberFormat.getNumberInstance().format(myNumber);
- System.out.println("NumberFormat.getNumberInstance():"+myString);
- //getPercentInstance() 返回当前缺省语言环境的百分比格式。
- myString = NumberFormat.getPercentInstance().format(test);
- System.out.println("NumberFormat.getPercentInstance():"+myString);
- NumberFormat format = NumberFormat.getInstance();
- format.setMinimumFractionDigits( 3 );//setMinimumFractionDigits(int) 设置数值的小数部分允许的最小位数。
- format.setMaximumFractionDigits(5);//setMaximumFractionDigits(int) 设置数值的小数部分允许的最大位数。
- format.setMaximumIntegerDigits( 10 );//setMaximumIntegerDigits(int) 设置数值的整数部分允许的最大位数。
- format.setMinimumIntegerDigits(0);//setMinimumIntegerDigits(int) 设置数值的整数部分允许的最小位数.
- System.out.println(format.format(2132323213.23266666666));
- }
- }
package com.zhang; import java.text.NumberFormat; import java.util.Locale; /** * <p>NumberFormat 是所有数值格式的抽象基类的应用</p> * @作者: zhangjunshuai * @日期: 2013-1-31 下午03:16:32 * @描述: */ public class NumberFormatTest { /** * 说明: * 1、NumberFormat.getInstance 返回当前缺省语言环境的缺省数值格式; * 2、NumberFormat.getCurrencyInstance(此处填写语言环境,如:Locale.US;可为空,为当前系统语言环境) 返回语言环境的金融格式 * 3、NumberFormat.getPercentInstance(此处填写语言环境,如:Locale.US;可为空,为当前系统语言环境) 返回语言环境的百分比格式 * 4、NumberFormat.getNumberInstance(此处填写语言环境,如:Locale.US;可为空,为当前系统语言环境) 返回语言环境的数值格式 * 5、setNinimumFractionDigits() 设置数值的小数部分允许的最小位数 * 6、setMaximumFractionDigits() 设置数值的小数部分允许的最大位数 * 7、setMaximumIntegerDigits() 设置数值的整数部分允许的最大位数 * 8、setMinimumIntegerDigits() 设置数值的整数部分允许的最大位数 */ public static void main(String[] args) { // TODO Auto-generated method stub Double myNumber=23323.3323232323; Double test=0.3434; //getInstance() //返回当前缺省语言环境的缺省数值格式。 String myString = NumberFormat.getInstance().format(myNumber); System.out.println(myString); //getCurrencyInstance()返回当前缺省语言环境的通用格式 //myString = NumberFormat.getCurrencyInstance(Locale.US).format(myNumber); myString = NumberFormat.getCurrencyInstance().format(myNumber); System.out.println("NumberFormat.getCurrencyInstance:"+myString); //getNumberInstance() 返回当前缺省语言环境的通用数值格式。 myString = NumberFormat.getNumberInstance().format(myNumber); System.out.println("NumberFormat.getNumberInstance():"+myString); //getPercentInstance() 返回当前缺省语言环境的百分比格式。 myString = NumberFormat.getPercentInstance().format(test); System.out.println("NumberFormat.getPercentInstance():"+myString); NumberFormat format = NumberFormat.getInstance(); format.setMinimumFractionDigits( 3 );//setMinimumFractionDigits(int) 设置数值的小数部分允许的最小位数。 format.setMaximumFractionDigits(5);//setMaximumFractionDigits(int) 设置数值的小数部分允许的最大位数。 format.setMaximumIntegerDigits( 10 );//setMaximumIntegerDigits(int) 设置数值的整数部分允许的最大位数。 format.setMinimumIntegerDigits(0);//setMinimumIntegerDigits(int) 设置数值的整数部分允许的最小位数. System.out.println(format.format(2132323213.23266666666)); } }
//================= 运行结果如下 =======================
23,323.332
NumberFormat.getCurrencyInstance:¥23,323.33
NumberFormat.getNumberInstance():23,323.332
NumberFormat.getPercentInstance():34%
2,132,323,213.23267