Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如果您有ISO国家代码'US','FR',如何获得语言环境代码('Locale.US','Locale.FRANCE')?_Java_Internationalization_Locale_Currency - Fatal编程技术网

Java 如果您有ISO国家代码'US','FR',如何获得语言环境代码('Locale.US','Locale.FRANCE')?

Java 如果您有ISO国家代码'US','FR',如何获得语言环境代码('Locale.US','Locale.FRANCE')?,java,internationalization,locale,currency,Java,Internationalization,Locale,Currency,如果您有国家代码US,FR(ISO-3166-1 alpha-2国家代码),您如何获得地区代码(Locale.US,Locale.FRANCE)来执行以下操作: System.out.println(DecimalFormat.getCurrencyInstance(Locale.US).format(12.34)); System.out.println(DecimalFormat.getCurrencyInstance(Locale.FRANCE).format(12.34)); $12.

如果您有国家代码
US
FR
(ISO-3166-1 alpha-2国家代码),您如何获得地区代码(
Locale.US
Locale.FRANCE
)来执行以下操作:

System.out.println(DecimalFormat.getCurrencyInstance(Locale.US).format(12.34));
System.out.println(DecimalFormat.getCurrencyInstance(Locale.FRANCE).format(12.34));

$12.34
12,34 €

您可以创建区域设置

new Locale("en", "US")
new Locale("fr", "FR")


遍历
Locale.getAvailableLocales()
,直到找到您的区域设置,然后使用该实例。

在Java7中有
Locale.Builder
,但在此之前没有简单的方法。但是,您可以创建实用程序方法:

  • 循环
    Locale.getAvailableLocales()
  • 对于每次检查,如果
    locale.getCountryCode().equals(countryCodeParam)
    并返回它

  • 语言环境最重要的是由ISO-639语言代码指定,也可能是ISO-3166国家代码和变体。
    Locale
    类的构造函数只接受语言代码、国家代码或变体


    如果你只有国家代码,你首先需要一个地图将其转换为语言代码——但这并不一定会产生唯一的结果,许多国家使用不止一种官方语言。

    你不能,因为语言环境是用来保存一种语言,而不是一个国家。它可以为一个特定的国家和这个国家的特定变体保存一种语言,但它首先是一种语言。一种语言和一个国家之间没有一对一的关系。大多数语言在不同的国家使用,许多国家有几种语言


    如果您有一种语言的国家代码,您可以使用
    newlocale(code)
    。但是有了国家代码,您所能做的就是调用
    GetAvailableCales
    ,循环搜索结果,找到一个包含您的国家代码的。但是可能有几种语言。

    Locale.Builder可以在这里帮助从国家代码获取默认语言吗?