Java程序常用算法 - 将数字格式化为货币字符串

文章标签: java
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人 整理发布,转载须标明出处。

java Rest学习-第一个Java REST 服务(5)-测试运行   上一篇
下一篇  java Rest学习-第一个Java REST 服务(4)-扩展服务

精彩回复
发表评论
姓名:       

《程序员app》专门为程序员量身定做!