java 数字格式化操作举例
———–NumberFormat数字格式化操作:
java.text.NumberFormat;是java.text.Format的子类,是抽象类;
java.text.DecimalFormat是java.text.NumberFormat的子类,非抽象类,类似于SimpleDateFormat,提供字符串风格模板定义;
1.取得NumberFormat的实例:
public static final NumberFormat getInstance();
// 获取默认风格;
2.完成数字格式化:
public final String format(double number);
———-用本地风格格式化数字:
package com.mldn;
import java.text.NumberFormat; // 抽象类
public class NumFormat
{
public static void main(String[] args)
{
int i = 100000200;
NumberFormat numFor = NumberFormat.getInstance(); // 取得本地默认数字输出风格
System.out.println(numFor.format(i)); // 按本地风格格式化数字
}
}
/*
administrator@xu-desktop:~$ javac -d . work/NumFormat.java
administrator@xu-desktop:~$ java com.mldn.NumFormat
100,000,200
*/
—————–自定义数字风格模板:
package com.mldn;
import java.text.NumberFormat; // 抽象类
import java.text.DecimalFormat;
class NumFor
{
public void numFormat(String pattern, double number)
{
DecimalFormat style = new DecimalFormat(pattern); // 定义数字风格 , pattern是模板
String numStr = style.format(number); // 按定义风格格式化number数字;
System.out.println(“以格式 ” + pattern + ” 格式化 ” + number +” 结果:” + numStr);
}
}
public class NumFormat
{
public static void main(String[] args)
{
NumFor num = new NumFor();
num.numFormat(“000,000”, 123456);
num.numFormat(“000,000.00”, 123456.789);
num.numFormat(“###,###.##”, 123456.88);
num.numFormat(“##.###%”, 0.012245);
num.numFormat(“###.###¥”, 1234758.333);
num.numFormat(“00.##”, 0.56);
num.numFormat(“###.###\u2030”, 233.333);
num.numFormat(“‘#’000.###”, 2139.222);
}
}
/*
administrator@xu-desktop:~$ javac -d . work/NumFormat.java
administrator@xu-desktop:~$ java com.mldn.NumFormat
以格式 000,000 格式化 123456.0 结果:123,456
以格式 000,000.00 格式化 123456.789 结果:123,456.79
以格式 ###,###.## 格式化 123456.88 结果:123,456.88
以格式 ##.###% 格式化 0.012245 结果:1.225%
以格式 ###.###¥ 格式化 1234758.333 结果:1234758.333¥
以格式 00.## 格式化 0.56 结果:00.56
以格式 ###.###‰ 格式化 233.333 结果:233333‰
0与#的区别:0将在没有数字时补0; #不会!
*/
声明: 除非转自他站(如有侵权,请联系处理)外,本文采用 BY-NC-SA 协议进行授权 | 嗅谱网
转载请注明:转自《java 数字格式化操作举例》
本文地址:http://www.xiupu.net/archives-181.html
关注公众号:
微信赞赏
支付宝赞赏