国际化之货币符号显示

我发现手机上显示的货币符号跟实际遇到的可能不一样,为此我逐一查询了不同国家/地区的显示。大部分是确定的,有几个国家不太确定。

最开始我用 Java 代码来获取,发现并不准确,比如菲律宾,官方有英语和菲律宾语,我都试了,得到都是 PHP xxx,PHp xxx 不符合预期。代码如下:

package com.tutorialspoint;

import java.util.*;
import java.text.SimpleDateFormat;
import java.text.DecimalFormat;
import java.text.DecimalFormatSymbols;
import java.text.NumberFormat;
import java.util.Locale;

public class CurrencyDemo {
   public static void main(String args[]) {
        /*
      // create a currency object with specified locale
      Locale locale = Locale.GERMANY;
      Currency curr = Currency.getInstance(locale);

      // print currency‘s code
      System.out.println("Locale‘s currency code:" + curr.getCurrencyCode());
      */

        double number = 123456.789;

        // https://developer.android.com/reference/java/util/Locale#fields_2
        Locale[] locales = {
            Locale.CANADA,
            Locale.CANADA_FRENCH,
            Locale.CHINA,
            Locale.FRANCE,
            Locale.GERMANY,
            Locale.ITALY,
            Locale.JAPAN,
            Locale.KOREA,
            Locale.PRC,
            Locale.SIMPLIFIED_CHINESE,
            Locale.TAIWAN,
            Locale.TRADITIONAL_CHINESE,
            Locale.UK,
            Locale.US,
            new Locale("en", "IN"),
            new Locale("en", "CA"),
            new Locale("zh", "HK"),
            new Locale("zh", "MO"),
            new Locale("zh", "SG"),
            new Locale("en", "SG"),
            new Locale("th", "TH"),
            new Locale("vi", "VN"),
            new Locale("ja", "JP"),
            new Locale("ga", "IE"),
            new Locale("ms", "MY"),
            new Locale("fil", "PH"),
            new Locale("en", "AU"),
            new Locale("km", "KH"),
            new Locale("id", "ID"),
            new Locale("es", "ES"),
        };

        // locales = SimpleDateFormat.getAvailableLocales();

        for (int i = 0; i < locales.length; i++) {
            // Gets currency‘s formatted value for each locale
            // without change the currency symbol
            DecimalFormat formatter = (DecimalFormat) NumberFormat.getCurrencyInstance(locales[i]);
            String before = formatter.format(number);

            System.out.println(locales[i].getDisplayCountry() + " | before: " + before);
        }
   }
}

访问这个网址可直接运行上面代码,查看结果:http://tpcg.io/Si9PeP

后来我在搜索澳门 MOP 的时候,发现苹果官网有直接显示(显示的是 MOP$),然后就依此为入门查询了一下其它国家。

规则就是苹果官网在国家简称(二个字母),对应国家的编码可以参考我上一篇文章,以越南为例:https://www.apple.com/vn/

澳大利亚 https://www.apple.com/au/trade-in/      显示:A$xxx (美元)

台湾 https://www.apple.com/tw/trade-in/     显示:NT$xxx  (新台币)

香港 https://www.apple.com/hk/trade-in/   显示:HK$xxx (港币)

澳门 https://support.apple.com/zh-mo/mac/repair/service   显示:MOP$xxx (

泰国 https://www.apple.com/th/shop/buy-mac/macbook-air 显示:?xxxx

加拿大 https://www.apple.com/ca/trade-in/   显示:$xxx

新加坡 https://www.apple.com/sg/trade-in/   显示:S$xxx

英国 https://www.apple.com/uk/shop/buy-mac/macbook-air    显示:£xxxx

菲律宾 https://www.apple.com/ph/shop/buy-mac/macbook-air   显示:?xxxxx

日本 https://www.apple.com/jp/shop/buy-mac/macbook-air   显示:¥xxx

韩国 https://www.apple.com/kr/shop/buy-mac/macbook-air   显示:?xxxx

马来西亚 https://www.apple.com/my/shop/buy-mac/macbook-air  显示:RM xxx

印度 https://paytm.com/  (搜索:“阿里巴巴  印度 电商”,找到印度电商 paytm)  显示:Rs xxxx

印尼  https://www.tokopedia.com/  (搜索:“阿里巴巴  印尼 电商”,找到印度电商 Tokopedia)  显示:Rp xxxx

柬埔寨  https://c21mekong.com.kh/ 使用的是美金 $,https://www.cellcard.com.kh/kh 用的也是 美金 $(谷歌搜索“site:*.kh”)  显示:$xxxxx

越南  https://tiki.vn/  (谷歌搜索:“京东  越南”,发现京东投资了这家公司,直接访问官网)  显示:xxx ?

另外一种办法是通过 【七麦数据 】的排行榜,选择不同的的国家/地区,然后选择付费排行,点进去详情有 itunes 游戏链接,进入 itunes 界面,拉到最下面,有显示畅销的商品列表,里面就标有货币符号,但我发现还是跟上面苹果官网显示不一样,而且苹果官网显示更为准确一些,这个我觉得只能作为参考。

以印度为例:https://www.qimai.cn/rank/index/brand/all/genre/6014/device/iphone/country/in/date/2018-09-30

畅销榜第一句是IGG的王国纪元

https://www.qimai.cn/app/rank/appid/1071976327/country/in

跳到 itunes 官网界面 https://itunes.apple.com/in/app/id1071976327?mt=8 。 显示的是印度卢布

而实际上我访问印度电商网站显示的既有 Rs 也有 卢布(?)

如果还有其它国家/地区需要整理,可以参考我上面的搜索方法,基本上很容易能找到该国家/地区日常使用的支持。另外一种就是拿台设备自己慢慢切换国家/地区 和 语言了。

原文地址:https://www.cnblogs.com/meteoric_cry/p/9932474.html

时间: 2024-10-24 12:50:22

国际化之货币符号显示的相关文章

为什么版权符号显示为问号

之前遇到过一个问题,在运行一些旧的程序的时候,发现版权和一些制表符号显示不出来.不知道为什么.在下载一个纯文本编写的intel386的说明的时候,用文本编辑器打开,发现一些字符也显示不出来,显示成了重复的中文字符"哪",用hex编辑器打开字符码为重复的c4. 于是用dosbox,type 文本文件,原来是一个横线,好像是制表用的横线.搜索dos code page发现了这个问题所在. dos下所用的代码页是437,使用的中文版系统的代码页是936. ASCII里每个字符码8位,第一位没

HTML特殊符号显示技巧

转:http://www.cnblogs.com/JessonChan/archive/2011/08/06/2129170.html HTML符号 显示一览表.编辑博客的时候经常会用到.特别是空格( ) 比如段落开头实现缩进插入两个全角空格就在每一段的段首插入:      一般可能用的到的符号代码: 符号 HTML 符号 HTML   & & < < > > ⁄ ⁄ " " ¸ ¸ ° ° ½ ½ ¼ ¼ ¾ ¾ « « » » ¯ ¯ ‰ ‰

cxGrid导出Excel货币符号问题

cxGrid导出到Excel,对于Currency类型总是加上了货币符号,可以修改导出文件设置来去掉: 在cxXLSExport.pas文件中,修改: procedure TcxXLSExportProvider.SetCellDataCurrency(const ACol, ARow: Integer; const AValue: Currency); begin if xlsCheckPos(ACol, ARow) then //FCells.SetCellDataCurrency(ACol

MathType弧度符号显示异常该怎样解决

MathType能够输入很多数学符号,比Word中自带的数学公式编辑器要方便快捷很多,同时还能输入它不能输入的符号,比如弧度符号,但有时我们可能会发现在MathType中输入的弧度符号会显示异常,那么遇到这个问题该怎么进行解决呢? 若有疑问可直接访问:http://www.mathtype.cn/wenti/hudu-fuhao.html 弧度符号显示异常示例: 具体解决办法如下:        1.双击公式进入到MathType编辑窗口,选中弧度符号,选择"样式"--"定义

Word中公式编辑器mathtype中符号显示异常, “上弧形”无法显示,弧形显示方框

在Word的MathType中部分符号显示异常,如"上弧形"无法正常显示,显示为方框,如下所示:正确的显示方式为:,却显示成了这样: 解决的办法是: 在Mathtype文件夹下MathType\Fonts\TrueType中找到mtextra.ttf和Mt ExtraTiger.ttf(破解版免费软件的免费下载地址),复制到windows\fonts文件夹内即可(打开方式为:控制面板-->字体).如果系统提示已经存在,替换掉原文件即可,如下图: 未解决的问题: 在Word 201

在index页面显示人民币货币符号-ruby on rails

<td><%= number_to_currency product.price, unit: "¥" %></td>

为数据前面加上货币符号

/// <summary> /// 商品价格格式 /// </summary> /// <param name="price"></param> /// <param name="n"></param> /// <returns></returns> public static string GetPrice(this decimal price, int? n = 0)

pdf.js在国际化的时候,显示不了中文的解决办法

在项目中使用了pdf实现在线预览功能,开始工具栏中一直都是英文的,在view.js中设置了也不起作用,偶然发现了问题所在 当我把网站发布到iis上的时候,用google浏览器的审查元素功能的审核发现js报错了 Failed to load resource: the server responded with a status of 404 (Not Found) :8082/web/locale/locale.properties 原来是找不到本地化文件,但文件明明就存在啊,看了文件的后缀名才

odoo 币别符号显示机制 Monetary

//-------------------------------------------------------------------basic_fields.js init: function () { this._setCurrency(); //------------------------------------------------------------------- _setCurrency: function () { var currencyField = this.n