2014-12-16 14:32:08 12 人阅读
【实例描述】
数字可以标识货币、百分比、积分、电话号码等。就货币而言,在不同的国家里会以不同 的格式来定义。本实例将通过接收用户输入的数字,将这个数字转换为不同国家的货币格式, 然后在控制台中输出这些货币的格式。运行效果如图 4.3 所示。

图 4.3 将数字格式化为货币字符串
【实现过程】
在 Eclipse 中新建项目 CurrencyFormat,并在其中创建一个 CurrencyFormat.java 文件。在 该类的主方法中创建标准输入流的扫描器对象,接收用户输入的数字,通过 NumberFormat 类 的 format()方法把接收的数字格式转换为货币字符串。核心代码如下所示:
import java.text.NumberFormat; import java.util.Locale; import java.util.Scanner; public class CurrencyFormat {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in); // 创建标注输入流扫描器
System.out.println("请输入一个数字:");
double number = scan.nextDouble(); // 获取用户输入数字
System.out.println("该数字用 Locale 类的以下常量作为格式化对象的构造参数,将获 得不同的货币格式:");
XXV
// 创建格式化对象
NumberFormat format = NumberFormat.getCurrencyInstance(Locale.CHINA);
// 输出格式化货币格式
System.out.println("Locale.CHINA:" + format.format(number)); format = NumberFormat.getCurrencyInstance(Locale.US);
System.out.println("Locale.US:" + format.format(number)); format = NumberFormat.getCurrencyInstance(Locale.ENGLISH);
System.out.println("Locale.ENGLISH:" + format.format(number));
}
}
【代码解析】
数字格式化是本例的关键点,实例中应用 NumberFormat 类实现了数字格式化,这个类是 一个抽象类,但是可以通过其静态方法获取内部实现类的实例对象,本实例获取了货币的格式 对象。
获取货币格式对象,实现格式化的代码如下:
NumberFormat format = NumberFormat.getCurrencyInstance(Locale.CHINA);
【知识扩展】
格式化对象可以指定语言环境,在 Java 中使用 Local 类的对象来表示,在该类中包含了三 种语言环境。通过它可以获取国际化的字符串信息,如货币、时间等。
原文地址:http://www.itmmd.com/201412/325.html
该文章由 萌萌的IT人 整理发布,转载须标明出处。
精彩回复