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国际化的实现还需要考虑实际应用中的多线程环境。在多线程程序中,本地化设置可能在不同线程中有所不同,因此需要确保每个线程的Locale设置独立,以避免一个线程中的国际化设置影响到其他线程。 总之,...
在Android应用开发中,本地化和国际化是两个重要的概念,它们涉及到如何使应用程序适应不同语言和地区的需求。...通过研究源码,可以深入理解如何在Android应用中实现对不同语言和文化的适应,提升应用的全球适用性。
在Android应用中,国际化主要通过以下几个方面来实现: 1. 资源文件管理:在res目录下,创建values目录的副本,如values-en(英语)、values-zh-rCN(简体中文),分别存放不同语言的字符串资源。例如,res/values/...
在大型项目中,国际化框架如Spring Framework提供了更高级的国际化支持,如MessageSource接口,它可以方便地集成到MVC应用中,处理视图层的国际化问题。 7. **测试与调试** 国际化功能的测试通常需要模拟不同的...
在JS中实现国际化可以提高应用的可访问性和用户体验。 以下是一些关键知识点: 1. **i18n库**:在JS中实现国际化,开发者通常会使用i18n库,如`i18next`、`format.js`(由Intl对象提供支持)、`polyfill.io`等。...
- 为了实现用户可以在应用中自由切换语言,可以创建一个链接或下拉菜单,触发改变请求的`Locale`属性,Struts会自动使用新的`Locale`加载资源。 9. **处理日期和数字**: - 国际化不仅涉及文本,还包括日期、数字...
本案例将深入探讨如何在Spring应用中实现国际化。 首先,我们需要了解i18n的基本概念。"i18n"这个术语来源于英文单词"internationalization",由于单词中有18个字母,因此得名。国际化的核心是将应用中的文本、日期...
在Java中,国际化主要通过java.util包下的Locale、ResourceBundle和Format类来实现。 首先,Locale类代表一个特定的语言环境,包括语言、国家和变体。例如,"zh_CN"代表简体中文,"en_US"代表美式英语。开发者可以...
在Android开发中,本地化与国际化是一个至关重要的环节,它涉及到应用程序如何根据不同地区的语言和文化习惯来呈现内容。本资料包“应用源码之(本地化与国际化).zip”提供了关于这一主题的深入学习资源,适合对...
在Java中,通过使用特定的API和资源文件,我们可以实现应用程序的国际化,以便在不同地区使用时,能够显示正确的语言和格式。 Java国际化的核心是`java.util.Locale`类,它代表了特定的语言、国家和地区。例如,`...
接着,`Messages.properties`文件是Java国际化的基础,它存储了应用中所有需要翻译的文本消息。在BIRT中,`Messages.properties`通常位于`org.eclipse.birt.report.engine`或类似的包结构下,包含了报表引擎运行时...
在Web应用中,Spring框架提供了强大的i18n支持。通过配置`MessageSource`,可以方便地读取和使用本地化消息。在JSP页面中,我们可以使用`<fmt:message>`标签来获取本地化文本。 国际化不仅仅是技术问题,还需要对...
"winform 国际化 Demo"就是一个关于如何在Winform应用中实现这一功能的示例。 国际化是指设计一个可以支持多种语言和文化的应用程序。它涉及到代码结构、资源管理和数据格式的规划,以便能够方便地添加新的语言支持...
在Java中实现国际化通常涉及以下几个步骤: 1. 创建资源包:资源包通常是`.properties`文件,如`messages.properties`(默认语言)和`messages_de.properties`(德语版本)。每个文件包含键值对,键用于在代码中...
在Android应用开发中,实现国际化的功能,即让应用程序能够支持多语言,是提升用户体验的重要一环。"Android 国际化 一键切换语言"这一主题主要涉及的是如何在不重启应用的情况下,让用户能够轻松地在不同的语言环境...
在国际化应用中,这个文件可能包含加载不同语言资源、根据用户设置或系统语言选择来切换语言,以及显示国际化文本等功能。开发者可能会使用Java的`ResourceBundle`类来管理和加载这些资源文件,这些文件通常以`....
在这个“il8n国际化实例”中,我们将重点探讨如何在Java Web应用中实现国际化,特别是使用Struts2框架。 Struts2是一个流行的开源MVC(Model-View-Controller)框架,广泛用于构建企业级Java Web应用。在Struts2中...
10. ** Swing和JavaFX的国际化**:在图形用户界面(GUI)应用中,`JLabel`、`JButton`等组件可以设置为从资源包加载文本。Swing的`UIDefaults`和JavaFX的`Locale`属性可以帮助实现界面的国际化。 通过这个Java程序...