`
cakin24
  • 浏览: 1396395 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

NumberFormat类在国际化中的应用

    博客分类:
  • java
 
阅读更多

1 NumberFormat类简介

NumberFormat包含了format和parse方法,其中format用于将数值格式化成字符串,parse用于将字符串解析成数值。


2 NumberFormat的常用方法

getCurrencyInstance:返回默认Locale的货币格式器。也可以在调用该方法传入指定Locale,则获取指定Locale的货币格式器。
getIntegerInstance:返回默认Locale的整数格式器。也可以在调用该方法传入指定Locale,则获取指定Locale的整数格式器。
getNumberInstance:返回默认Locale的通用数值格式器。也可以在调用该方法传入指定Locale,则获取指定Locale的通用数值格式器。
getPercentInstance:返回默认Locale的百分数格式器。也可以在调用该方法传入指定Locale,则获取指定Locale的百分数格式器。


3 代码示例

import java.util.*;
import java.text.*;

public class NumberFormatTest
{
	public static void main(String[] args)
	{
		// 需要被格式化的数字
		double db = 1234000.567;
		// 创建四个Locale,分别代表中国、日本、德国、美国、法国
		Locale[] locales = {Locale.CHINA, Locale.JAPAN
			, Locale.GERMAN,  Locale.US,Locale.FRANCE};
		NumberFormat[] nf = new NumberFormat[15];
		// 为上面五个Locale创建15个NumberFormat对象
		// 每个Locale分别有通用数值格式器、百分比格式器、货币格式器
		for (int i = 0 ; i < locales.length ; i++)
		{
			nf[i * 3] = NumberFormat.getNumberInstance(locales[i]);
			nf[i * 3 + 1] = NumberFormat.getPercentInstance(locales[i]);
			nf[i * 3 + 2] = NumberFormat.getCurrencyInstance(locales[i]);
		}
		for (int i = 0 ; i < locales.length ; i++)
		{
			String tip = i == 0 ? "----中国的格式----" :
				i == 1 ? "----日本的格式----" :
				i == 2 ? "----德国的格式----" :
				i == 3 ?"----美国的格式----" : "----法国的格式----";
			System.out.println(tip);
			System.out.println("通用数值格式:"
				+ nf[i * 3].format(db));
			System.out.println("百分比数值格式:"
				+ nf[i * 3 + 1].format(db));
			System.out.println("货币数值格式:"
				+ nf[i * 3 + 2].format(db));
		}
	}
}


 
4 运行结果

----中国的格式----
通用数值格式:1,234,000.567
百分比数值格式:123,400,057%
货币数值格式:¥1,234,000.57
----日本的格式----
通用数值格式:1,234,000.567
百分比数值格式:123,400,057%
货币数值格式:¥1,234,001
----德国的格式----
通用数值格式:1.234.000,567
百分比数值格式:123.400.057%
货币数值格式:¤ 1.234.000,57
----美国的格式----
通用数值格式:1,234,000.567
百分比数值格式:123,400,057%
货币数值格式:$1,234,000.57
----法国的格式----
通用数值格式:1?234?000,567
百分比数值格式:123?400?057 %
货币数值格式:1?234?000,57

分享到:
评论

相关推荐

    java国际化官方指南

    最后,Java国际化的实现还需要考虑实际应用中的多线程环境。在多线程程序中,本地化设置可能在不同线程中有所不同,因此需要确保每个线程的Locale设置独立,以避免一个线程中的国际化设置影响到其他线程。 总之,...

    Android应用源码之(本地化与国际化)-IT计算机-毕业设计.zip

    在Android应用开发中,本地化和国际化是两个重要的概念,它们涉及到如何使应用程序适应不同语言和地区的需求。...通过研究源码,可以深入理解如何在Android应用中实现对不同语言和文化的适应,提升应用的全球适用性。

    android国际化

    在Android应用中,国际化主要通过以下几个方面来实现: 1. 资源文件管理:在res目录下,创建values目录的副本,如values-en(英语)、values-zh-rCN(简体中文),分别存放不同语言的字符串资源。例如,res/values/...

    设计Java EE应用程序-- J2EE应用程序国际化和本地化.doc

    在设计和实现国际化应用时,需要考虑各种挑战,如文本扩展(某些语言的翻译可能比原文长)、右对齐文本(如阿拉伯语)和图片中的文化敏感内容。此外,还需要处理不同地区的货币、税率和法律要求。 **7. 实现策略** ...

    java国际化实现框架底层源码

    在大型项目中,国际化框架如Spring Framework提供了更高级的国际化支持,如MessageSource接口,它可以方便地集成到MVC应用中,处理视图层的国际化问题。 7. **测试与调试** 国际化功能的测试通常需要模拟不同的...

    js 国际化实现

    在JS中实现国际化可以提高应用的可访问性和用户体验。 以下是一些关键知识点: 1. **i18n库**:在JS中实现国际化,开发者通常会使用i18n库,如`i18next`、`format.js`(由Intl对象提供支持)、`polyfill.io`等。...

    struts1.x 最简洁国际化 源代码

    - 为了实现用户可以在应用中自由切换语言,可以创建一个链接或下拉菜单,触发改变请求的`Locale`属性,Struts会自动使用新的`Locale`加载资源。 9. **处理日期和数字**: - 国际化不仅涉及文本,还包括日期、数字...

    Spring国际化案例

    本案例将深入探讨如何在Spring应用中实现国际化。 首先,我们需要了解i18n的基本概念。"i18n"这个术语来源于英文单词"internationalization",由于单词中有18个字母,因此得名。国际化的核心是将应用中的文本、日期...

    Java国际化编程及其实现.rar

    在Java中,国际化主要通过java.util包下的Locale、ResourceBundle和Format类来实现。 首先,Locale类代表一个特定的语言环境,包括语言、国家和变体。例如,"zh_CN"代表简体中文,"en_US"代表美式英语。开发者可以...

    应用源码之(本地化与国际化).zip

    在Android开发中,本地化与国际化是一个至关重要的环节,它涉及到应用程序如何根据不同地区的语言和文化习惯来呈现内容。本资料包“应用源码之(本地化与国际化).zip”提供了关于这一主题的深入学习资源,适合对...

    最简单的java国际化例子

    在Java中,通过使用特定的API和资源文件,我们可以实现应用程序的国际化,以便在不同地区使用时,能够显示正确的语言和格式。 Java国际化的核心是`java.util.Locale`类,它代表了特定的语言、国家和地区。例如,`...

    javaweb 国际化:DateFormat,NumberFormat,MessageFormat,ResourceBundle的使用

    在国际化应用中,消息通常需要根据不同的地区显示不同的语言,因此MessageFormat与ResourceBundle结合使用可以非常方便地实现这一点。消息格式字符串中通过占位符来标识动态内容的位置,例如"Welcome, {0}!"中的{0}...

    birt 中文国际化(全)

    接着,`Messages.properties`文件是Java国际化的基础,它存储了应用中所有需要翻译的文本消息。在BIRT中,`Messages.properties`通常位于`org.eclipse.birt.report.engine`或类似的包结构下,包含了报表引擎运行时...

    JAVA_国际化程序实现

    在Web应用中,Spring框架提供了强大的i18n支持。通过配置`MessageSource`,可以方便地读取和使用本地化消息。在JSP页面中,我们可以使用`&lt;fmt:message&gt;`标签来获取本地化文本。 国际化不仅仅是技术问题,还需要对...

    winform 国际化 Demo

    "winform 国际化 Demo"就是一个关于如何在Winform应用中实现这一功能的示例。 国际化是指设计一个可以支持多种语言和文化的应用程序。它涉及到代码结构、资源管理和数据格式的规划,以便能够方便地添加新的语言支持...

    java国际化i18n

    在Java中实现国际化通常涉及以下几个步骤: 1. 创建资源包:资源包通常是`.properties`文件,如`messages.properties`(默认语言)和`messages_de.properties`(德语版本)。每个文件包含键值对,键用于在代码中...

    Android 国际化 一键切换语言

    在Android应用开发中,实现国际化的功能,即让应用程序能够支持多语言,是提升用户体验的重要一环。"Android 国际化 一键切换语言"这一主题主要涉及的是如何在不重启应用的情况下,让用户能够轻松地在不同的语言环境...

    国际化文件的维护

    在国际化应用中,这个文件可能包含加载不同语言资源、根据用户设置或系统语言选择来切换语言,以及显示国际化文本等功能。开发者可能会使用Java的`ResourceBundle`类来管理和加载这些资源文件,这些文件通常以`....

    il8n国际化实例

    在这个“il8n国际化实例”中,我们将重点探讨如何在Java Web应用中实现国际化,特别是使用Struts2框架。 Struts2是一个流行的开源MVC(Model-View-Controller)框架,广泛用于构建企业级Java Web应用。在Struts2中...

Global site tag (gtag.js) - Google Analytics