首页 > 代码库 > Java—NumberFormat与DecimalFormat类
Java—NumberFormat与DecimalFormat类
1.NumberFormat表示数字的格式化类
NumberFormat表示数字的格式化类,即:可以按照本地的风格习惯进行数字的显示。
No. | 方法 | 类型 | 描述 |
1 | public static Locale[] getAvailableLocales() | 普通 | 返回所有语言环境的数组 |
2 | public static final NumberFormat getInstance() | 普通 | 返回当前默认语言环境的数字格式 |
3 | public static NumberFormat getInstance(Locale inLocale) | 普通 | 返回指定语言环境的数字格式 |
4 | public static final NumberFormat getCurrencyInstance() | 普通 | 返回当前缺省语言环境的通用格式 |
5 | public static NumberFormat getCurrencyInstance(Locale inLocale) | 普通 | 返回指定语言环境的数字格式 |
private static final NumberFormat CURRENCY = NumberFormat.getCurrencyInstance();
package com.pb.demo1;import java.text.NumberFormat;public class NumberFormatTest { public static void main(String[] args) { NumberFormat nf=NumberFormat.getInstance(); System.out.println("格式化后显示数字:"+nf.format(10000000)); System.out.println("格式化后显示数字:"+nf.format(10000.345)); }}
2.DecimalFormat格式化数字
DecimalFormat也是Format的一个子类,主要的作用是用来格式化数字,当然,在格式化数字的时候要比直接使用NumberFormat更加方便,因为可以直接指定按用户自定义的方式进行格式化操作,与SimpleDateFormat类似,如果要想进行自定义格式化操作,则必须指定格式化操作的模板。
No. | 标记 | 位置 | 描述 |
1 | 0 | 数字 | 代表阿拉伯数字,每一个0表示一位阿拉伯数字,如果该位不存在则显示0 |
2 | # | 数字 | 代表阿拉伯数字,每一个#表示一位阿拉伯数字,如果该位不存在则不显示 |
3 | . | 数字 | 小数点分隔符或货币的小数分隔符 |
4 | - | 数字 | 代表负号 |
5 | , | 数字 | 分组分隔符 |
6 | E | 数字 | 分隔科学计数法中的尾数和指数 |
7 | ; | 子模式边界 | 分隔正数和负数子模式 |
8 | % | 前缀或后缀 | 数字乘以100并显示为百分数 |
9 | \u2030 | 前缀或后缀 | 乘以1000并显示为千分数 |
10 | ¤ \u00A4 | 前缀或后缀 | 货币记号,由货币号替换。如果两个同时出现,则用国际货币符号替换。如果出现在某个模式中,则使用货币小数分隔符,而不使用小数分隔符。 |
11 | , | 前缀或后缀 | 用于在前缀或或后缀中为特殊字符加引号,例如 "‘#‘#" 将 123 格式化为 "#123"。要创建单引号本身,请连续使用两个单引号:"# o‘‘clock"。
|
package com.pb.demo1;import java.text.DecimalFormat;public class FormatDemo { public void format(String pattern,double value){ DecimalFormat df=new DecimalFormat(pattern); String str=df.format(value); System.out.println("使用" + pattern+ "\t格式化数字"+value+":\t" + str); } public static void main(String[] args) { FormatDemo demo=new FormatDemo(); demo.format("###,###.###", 111222.34567); demo.format("000,000.000", 11222.34567); demo.format("###,###.###$", 111222.34567); demo.format("000,000.000¥", 11222.34567); demo.format("##.###%", 0.345678); // 使用百分数形式 demo.format("00.###%", 0.0345678); // 使用百分数形式 demo.format("###.###\u2030", 0.345678); // 使用千分数形式 }}
Java—NumberFormat与DecimalFormat类
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。