`
duyouhua1214
  • 浏览: 237988 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

java货币 Locale Currency NumberFormat

    博客分类:
  • Java
阅读更多

使用java currency配合Locale,NumberFormat可以很好的表示货币。

下面我们一个一个的来介绍:

××××××××××××××××××××××××××××××××××××××××××××××××××

Java从底层就对I18N的支持做的相当的好,Locale功不可没。web层框架的国际化大多与他有关

Locale对象表示了特定的地理、政治和文化地区。需要Locale来执行其任务的操作称为语言环境敏感的 操作,它使用 Locale为用户量身定制信息。例如,显示一个数值就是语言环境敏感的操作,应该根据用户的国家、地区或文化的风俗/传统来格式化该数值。

Locale提供了一个非常有用的方法可以直接生成特定的Locale对象,例如:

Locale.CHINA;

当然也可以通过Locale.getDefault();返回当前默认语言环境;

public static void main(String[] args)
 {
  Locale locale=Locale.CHINA;
  System.out.println(locale.getDisplayName());

  
  Locale localed=Locale.getDefault();
  System.out.println(localed);

System.out.println("************");

// 返回所有以安装的语言环境

Locale[] localeAll=Locale.getAvailableLocales();
  for(Locale l:localeAll)
  {
   System.out.println(l.getDisplayName());
  }

}

result:

中文 (中国)
中文 (中国)
************
日文 (日本)
西班牙文 (秘鲁)
英文
日文 (日本,JP)

.........

××××××××××××××××××××××××××××××××××××××××××××××××××

Currency:java中用来便是货币的类

Currency中没有公共的构造方法,可以通过getInstance ()来获得Currency实例;

Currency有2个getInstance ()方法,可以通过传递一个Locale参数来获得一个Currency实例;

public static void main(String[] args)
 {
  Locale locale=Locale.CHINA;

Currency currensy=Currency.getInstance(locale);
  //打印货币符号
  System.out.println(currensy.getSymbol());
  System.out.println(currensy.getSymbol(Locale.US));//这里打印的还是关于人民币的
  System.out.println(currensy.getSymbol(Locale.CHINA));

}

result:


CNY

××××××××××××××××××××××××××××××××××××××××××××××××

NumberFormat是所有数字格式的抽象基类。此类提供了格式化和分析数字的接口。NumberFormat还提供了一些方法,用来确定哪些语言环境具有数字格式,以及它们的名称是什么。

public static void main(String[] args)
 {
  NumberFormat nf=NumberFormat.getCurrencyInstance(Locale.CHINA);
  
  String s=nf.format(73084.803984);
  
  System.out.println(s);

 }

result:¥73,084.80

 

来源:http://blog.163.com/terje/blog/static/1192437120088104859773/

分享到:
评论

相关推荐

    关于Locale的一个列子

    `java.text.NumberFormat`和`java.util.Currency`类与`Locale`一起使用,可以正确地显示货币符号和小数点等。 5. **资源包(Resource Bundle)**: 在多语言环境下,开发者会使用资源包来存储字符串、图片等资源的...

    JDK19-internationalization-guide.pdf

    Java 平台提供了多种 currencies 和数字格式的支持,包括 java.util.Currency、java.text.NumberFormat 等。这些类可以处理货币符号、货币格式、数字格式等方面的内容。 locale 和语言支持 Java 平台提供了多种 ...

    Currency

    Java提供了丰富的API来支持货币操作,这通常涉及到`java.util.Currency`类和`java.text.NumberFormat`类。 `java.util.Currency`是Java标准库中用于表示货币类型的一个枚举类。它包含了ISO 4217标准定义的所有货币...

    最简单的java国际化例子

    Java提供了`java.text.SimpleDateFormat`类来处理日期和时间的格式化,`java.text.NumberFormat`类处理数字,而`java.util.Currency`类则用于货币。这些类都支持根据`Locale`进行自动配置。 例如,如果我们要格式化...

    javaI18N[国际化]

    8. **Java Locale-sensitive服务**:Java API的一些部分,如`Collator`(比较字符串)、`Currency`(货币信息)和`Calendar`(日历系统),都提供了基于Locale的服务,可以根据不同的地区提供适当的排序、货币和日期...

    Java程序国际化教程源码下载

    8. **货币格式**:`java.util.Currency`类和`NumberFormat`类可以帮助处理不同地区的货币格式。例如,美元和欧元的符号以及小数点和千分位分隔符的差异。 9. **右到左(RTL)支持**:对于像阿拉伯语这样的从右到左...

    java i18n 国际化

    Java的`SimpleDateFormat`类用于处理日期和时间的格式,`NumberFormat`和`Currency`类则用于处理数字和货币。这些类可以结合`Locale`对象,确保输出符合目标地区的规范。 总的来说,Java的i18n机制提供了一种灵活的...

    java数据格式化

    - **`java.util.Currency`**:提供货币符号和汇率信息,用于货币的格式化处理。 ### 二、国际化与`MessageFormat`类 `MessageFormat`类是Java中用于格式化多语言文本的强大工具,特别适用于国际化的场景。它可以...

    自定义TextView带货币符号

    `NumberFormat`类可以接受`Locale`作为参数,自动根据用户设备的语言设置选择正确的货币符号。 - 通过`setLocale(Locale)`方法,你可以动态地更改货币符号,以适应用户的地区设置。 5. **自定义属性**: - 在`res...

    javaI18N[国际化]-源码.rar

    - `NumberFormat.getCurrencyInstance(Locale)`可获取特定地区的货币格式。 - `Currency`类表示ISO 4217标准的货币类型,如`Currency.getInstance("USD")`表示美元。 7. **国际化和本地化在GUI中的应用**: - ...

    Android 国际货币格式化的示例代码

    首先,Android提供了`java.text.NumberFormat`类,它可以用于格式化数字,包括货币。最简单的货币格式化方法是调用`NumberFormat.getCurrencyInstance()`,它会返回一个根据设备当前区域设置的货币格式。例如: ```...

    JDK14-internationalization-guide.pdf

    - `java.text.DecimalFormat`和`java.util.Currency`类用于处理货币格式。Java 14可能会扩展对更多国家货币和地区的支持。 - `NumberFormat`接口及其子类用于非货币数值的格式化,确保数字在不同文化背景下的显示...

    java金钱处理方法实例详解

    注意,虽然返回的是一个String,但在实际项目中,可能需要将其转化为特定的货币类型,如`java.math.BigDecimal`或`java.util.Currency`。 2. 费率计算和手续费计算 费率计算通常涉及两个金额的百分比运算。例如,...

    Currency:Отображениевалют

    Kotlin还支持`java.text.DecimalFormat`和`java.util.Locale`,可以根据用户所在地区设置正确的货币格式。 4. **本地化**:在多语言环境中,货币的符号和显示方式需要根据用户的本地设置进行调整。Kotlin的`Locale`...

    用WinRunner做OracleAS的Globaliza.docx

    4. **数字和货币格式**:通过`NumberFormat`和`Currency`类,Java能够根据不同的Locale正确地显示数字和货币。 5. **字符编码**:Java采用UTF-16编码,这是一种支持多种语言的统一字符编码方案。 #### 结论 通过...

    JavaTexts:开发Java程序来处理语言

    - `java.util.Currency`代表货币类型,`NumberFormat`的子类`DecimalFormat`和`CurrencyFormat`用于货币的格式化。 9. **MessageSource** - 在Spring框架中,`org.springframework.context.MessageSource`接口...

    JAVA资格认证:SCJP310-055中文

    - **日期、数字和货币格式化**: 利用`java.text`包中的`SimpleDateFormat`、`NumberFormat`和`Currency`类来格式化日期、数字和货币。 - **Locale类**: 表示地理位置、语言和地区的信息,用于国际化应用程序。 -...

Global site tag (gtag.js) - Google Analytics