各国货币编码

        在某些涉及交易的系统中常常会用到不同币种,所以我总结了全球各国的货币编码为几种使用方式。

        1.数据库形式

        数据库形式可以在系统初始化时加载,也可以加载到缓存中使用,这种方式比较灵活,可以与其他表结合使用,如:order,pay等,结构如图:



        建表语句为:

CREATE TABLE `currency` (
  `CURRENCY_ID` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `CURRENCY_CODE` varchar(8) NOT NULL COMMENT '币种',
  `VERSION` int(11) DEFAULT '0',
  `CREATE_DATE` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建日期',
  `TYPE` int(2) DEFAULT '0' COMMENT '类型',
  `STATUS` int(2) DEFAULT '0' COMMENT '状态',
  `NAME` varchar(32) NOT NULL COMMENT '名称',
  `ENGLISH_NAME` varchar(64) DEFAULT NULL COMMENT '英文名',
  PRIMARY KEY (`CURRENCY_ID`)
) ENGINE=InnoDB AUTO_INCREMENT=173 DEFAULT CHARSET=utf8 COMMENT='币种';

        随后插入相应币种信息即可,所有币种信息在本文附件中。

        2.枚举形式

        枚举形式的好处在于可以在程序中快速转换与判断,可以封装成相关工具类使用,以下是源码:

package com.rm.base.common.enums;
/**
 * 货币
 * @author liming
 *
 */
public enum Currency {
	
	AED("AED","阿联酋迪拉姆","United Arab Emirates Dirham"),
	AFN("AFN","阿富汗尼","Afghan Afghani"),
	ALL("ALL","阿尔巴尼列克","Albania Lek"),
	AMD("AMD","亚美尼亚德拉姆","Armenia Dram"),
	ANG("ANG","荷兰盾","Antilles Guilder"),
	AOA("AOA","安哥拉宽扎","Angola Kwanza"),
	ARS("ARS","阿根廷比索","Argentina Peso"),
	AUD("AUD","澳元","Australia Dollar"),
	AWG("AWG","阿鲁巴弗罗林","Aruba Florin"),
	AZN("AZN","阿塞拜疆马纳特","Azerbaijan Manat"),
	BAM("BAM","波黑可兑换马克","Bosnia Convertible Mark"),
	BBD("BBD","巴巴多斯元","Barbados Dollar"),
	BDT("BDT","孟加拉国塔卡","Bangladesh Taka"),
	BGN("BGN","保加利亚列弗","Bulgaria Lev"),
	BHD("BHD","巴林第纳尔","Bahrain Dinar"),
	BIF("BIF","布隆迪法郎","Burundi Franc"),
	BMD("BMD","百慕大元","Bermudian Dollar"),
	BND("BND","文莱元","Brunei Dollar"),
	BOB("BOB","玻利维亚诺","Boliviano"),
	BRL("BRL","巴西雷亚尔","Brazilian Real"),
	BSD("BSD","巴哈马元","Bahamian Dollar"),
	BTN("BTN","不丹努扎姆","Bhutanese Ngultrum"),
	BWP("BWP","博茨瓦纳普拉","Botswana Pula "),
	BYR("BYR","白俄罗斯卢布","Belarusian Ruble"),
	BZD("BZD","伯利兹元","Belize Dollar"),
	CAD("CAD","加元","Canadian Dollar"),
	CDF("CDF","刚果法郎","Franc Congolais"),
	CHF("CHF","瑞士法郎","Swiss Franc"),
	CLF("CLF","智利比索(基金)","Chilean Unidad de Fomento"),
	CLP("CLP","智利比索","Chilean Peso"),
	CNH("CNH","中国离岸人民币","Chinese Offshore Renminbi"),
	CNY("CNY","人民币","Chinese Yuan"),
	COP("COP","哥伦比亚比索","Colombia Peso "),
	CRC("CRC","哥斯达黎加科朗","Costa Rica Colon"),
	CUP("CUP","古巴比索","Cuban Peso"),
	CVE("CVE","佛得角埃斯库多","Cape Verde Escudo"),
	CYP("CYP","塞普路斯镑","Cyprus Pound"),
	CZK("CZK","捷克克朗","Czech Republic Koruna"),
	DEM("DEM","德国马克","German Mark"),
	DJF("DJF","吉布提法郎","Djiboutian Franc"),
	DKK("DKK","丹麦克郎","Danish Krone"),
	DOP("DOP","多米尼加比索","Dominican Peso"),
	DZD("DZD","阿尔及利亚第纳尔","Algerian Dinar "),
	ECS("ECS","厄瓜多尔苏克雷","Ecuadorian Sucre"),
	EGP("EGP","埃及镑","Egyptian Pound"),
	ERN("ERN","厄立特里亚纳克法","Eritrean Nakfa"),
	ETB("ETB","埃塞俄比亚比尔","Ethiopian Birr"),
	EUR("EUR","欧元","Euro"),
	FJD("FJD","斐济元","Fiji Dollar"),
	FKP("FKP","福克兰群岛镑","Falkland Islands Pound"),
	FRF("FRF","法国法郎","French Franc"),
	GBP("GBP","英镑","Pound Sterling"),
	GEL("GEL","格鲁吉亚拉里","Georgian Lari"),
	GHS("GHS","加纳塞地","Ghanaian Cedi"),
	GIP("GIP","直布罗陀镑","Gibraltar Pound"),
	GMD("GMD","冈比亚达拉西","Gambian Dalasi"),
	GNF("GNF","几内亚法郎","Guinean Franc"),
	GTQ("GTQ","危地马拉格查尔","Guatemalan Quetzal"),
	GYD("GYD","圭亚那元","Guyanese Dollar"),
	HKD("HKD","港币","Hong Kong Dollar"),
	HNL("HNL","洪都拉斯伦皮拉","Honduran Lempira"),
	HRK("HRK","克罗地亚库纳","Croatian Kuna"),
	HTG("HTG","海地古德","Haitian Gourde"),
	HUF("HUF","匈牙利福林","Hungarian Forint"),
	IDR("IDR","印度尼西亚卢比","Indonesian Rupiah"),
	IEP("IEP","爱尔兰镑","Irish Pound"),
	ILS("ILS","以色列新谢克尔","Israeli New Shekel"),
	INR("INR","印度卢比","Indian Rupee"),
	IQD("IQD","伊拉克第纳尔","Iraqi Dinar"),
	IRR("IRR","伊朗里亚尔","Iranian Rial"),
	ISK("ISK","冰岛克郎","Icelandic Krona"),
	ITL("ITL","意大利里拉","Italian Lira"),
	JMD("JMD","牙买加元","Jamaican Dollar"),
	JOD("JOD","约旦第纳尔","Jordanian Dinar"),
	JPY("JPY","日元","Japanese Yen"),
	KES("KES","肯尼亚先令","Kenyan Shilling"),
	KGS("KGS","吉尔吉斯斯坦索姆","Kyrgyzstani Som"),
	KHR("KHR","柬埔寨瑞尔","Cambodian Riel"),
	KMF("KMF","科摩罗法郎","Comorian franc"),
	KPW("KPW","朝鲜元","North Korean Won"),
	KRW("KRW","韩元","South Korean Won"),
	KWD("KWD","科威特第纳尔","Kuwaiti Dinar"),
	KYD("KYD","开曼群岛元","Cayman Islands Dollar"),
	KZT("KZT","哈萨克斯坦腾格","Kazakstani Tenge"),
	LAK("LAK","老挝基普","Lao kip"),
	LBP("LBP","黎巴嫩镑","Lebanese Pound"),
	LKR("LKR","斯里兰卡卢比","Sri Lankan Rupee"),
	LRD("LRD","利比里亚元","Liberian dollar"),
	LSL("LSL","莱索托洛蒂","Lesotho Loti"),
	LTL("LTL","立陶宛立特","Lithuanian Litas"),
	LVL("LVL","拉脱维亚拉特","Latvian Lats"),
	LYD("LYD","利比亚第纳尔","Libyan Dinar"),
	MAD("MAD","摩洛哥迪拉姆","Moroccan Dirham"),
	MDL("MDL","摩尔多瓦列伊","Moldovan Leu"),
	MGA("MGA","马达加斯加阿里亚里","Malagasy Ariary"),
	MKD("MKD","马其顿代纳尔","Macedonian Denar"),
	MMK("MMK","缅甸元","Myanmar Kyat"),
	MNT("MNT","蒙古图格里克","Mongolian Tugrik"),
	MOP("MOP","澳门元","Macau Pataca"),
	MRO("MRO","毛里塔尼亚乌吉亚","Mauritania Ouguiya"),
	MUR("MUR","毛里求斯卢比","Mauritian Rupee"),
	MVR("MVR","马尔代夫拉菲亚","Maldives Rufiyaa"),
	MWK("MWK","马拉维克瓦查","Malawian Kwacha"),
	MXN("MXN","墨西哥比索","Mexican Peso"),
	MXV("MXV","墨西哥MXV","Mexican Unidad De Inversion"),
	MYR("MYR","马来西亚林吉特","Malaysian Ringgit"),
	MZN("MZN","莫桑比克新梅蒂卡尔","New Mozambican Metical"),
	NAD("NAD","纳米比亚元","Namibian Dollar"),
	NGN("NGN","尼日利亚奈拉","Nigerian Naira"),
	NIO("NIO","尼加拉瓜新科多巴","Nicaraguan Cordoba Oro"),
	NOK("NOK","挪威克朗","Norwegian Krone"),
	NPR("NPR","尼泊尔卢比","Nepalese Rupee"),
	NZD("NZD","新西兰元","New Zealand Dollar"),
	OMR("OMR","阿曼里亚尔","Omani Rial"),
	PAB("PAB","巴拿马巴波亚","Panamanian Balboa"),
	PEN("PEN","秘鲁新索尔","Peruvian Nuevo Sol"),
	PGK("PGK","巴布亚新几内亚基那","Papua New Guinea Kina"),
	PHP("PHP","菲律宾比索","Philippine Peso"),
	PKR("PKR","巴基斯坦卢比","Pakistan Rupee"),
	PLN("PLN","波兰兹罗提","Polish Zloty"),
	PYG("PYG","巴拉圭瓜拉尼","Paraguayan Guarani"),
	QAR("QAR","卡塔尔里亚尔","Qatari Riyal"),
	RON("RON","罗马尼亚列伊","Romanian Leu"),
	RSD("RSD","塞尔维亚第纳尔","Serbian Dinar"),
	RUB("RUB","俄罗斯卢布","Russian Ruble"),
	RWF("RWF","卢旺达法郎","Rwandan Franc"),
	SAR("SAR","沙特里亚尔","Saudi Arabian Riyal"),
	SBD("SBD","所罗门群岛元","Solomon Islands Dollar"),
	SCR("SCR","塞舌尔卢比","Seychelles Rupee"),
	SDG("SDG","苏丹磅","Sudanese Pound"),
	SEK("SEK","瑞典克朗","Swedish Krona"),
	SGD("SGD","新加坡元","Singapore Dollar"),
	SHP("SHP","圣赫勒拿镑","Saint Helena Pound"),
	SIT("SIT","斯洛文尼亚托拉尔","Slovenian Tolar"),
	SLL("SLL","塞拉利昂利昂","Sierra Leonean Leone"),
	SOS("SOS","索马里先令","Somali Shilling"),
	SRD("SRD","苏里南元","Suriname Dollar"),
	STD("STD","圣多美多布拉","Sao Tome Dobra"),
	SVC("SVC","萨尔瓦多科朗","Salvadoran Colon"),
	SYP("SYP","叙利亚镑","Syrian Pound"),
	SZL("SZL","斯威士兰里兰吉尼","Swazi Lilangeni"),
	THB("THB","泰铢","Thai Baht"),
	TJS("TJS","塔吉克斯坦索莫尼","Tajikistan Somoni"),
	TMT("TMT","土库曼斯坦马纳特","Turkmenistan Manat"),
	TND("TND","突尼斯第纳尔","Tunisian Dinar"),
	TOP("TOP","汤加潘加","Tongan Pa'Anga"),
	TRY("TRY","土耳其里拉","Turkish Lira"),
	TTD("TTD","特立尼达多巴哥元","Trinidad and Tobago Dollar"),
	TWD("TWD","新台币","New Taiwan Dollar"),
	TZS("TZS","坦桑尼亚先令","Tanzanian Shilling"),
	UAH("UAH","乌克兰格里夫纳","Ukrainian Hryvnia"),
	UGX("UGX","乌干达先令","Ugandan Shilling"),
	USD("USD","美元","United States Dollar"),
	UYU("UYU","乌拉圭比索","Uruguayan Peso"),
	UZS("UZS","乌兹别克斯坦苏姆","Uzbekistani Som"),
	VEF("VEF","委内瑞拉玻利瓦尔","Venezuelan Bolivar Fuerte"),
	VND("VND","越南盾","Viet Nam Dong"),
	VUV("VUV","瓦努阿图瓦图","Vanuatu Vatu"),
	WST("WST","萨摩亚塔拉","Samoa Tala"),
	XAF("XAF","中非法郎","Central African CFA Franc"),
	XAG("XAG","银价盎司","Ounces of Silver"),
	XAU("XAU","金价盎司","Ounces of Gold"),
	XCD("XCD","东加勒比元","East Caribbean Dollar"),
	XCP("XCP","铜价盎司","Ounces of Copper"),
	XDR("XDR","IMF特别提款权","IMF Special Drawing Rights"),
	XOF("XOF","西非法郎","West African CFA"),
	XPD("XPD","钯价盎司","Ounces of Palladium"),
	XPF("XPF","太平洋法郎","French Pacific Franc"),
	XPT("XPT","珀价盎司","Ounces of Platinum"),
	YER("YER","也门里亚尔","Yemeni Rial"),
	ZAR("ZAR","南非兰特","South African Rand"),
	ZMW("ZMW","赞比亚克瓦查","Zambian Kwacha"),
	ZWL("ZWL","津巴布韦元","Zimbabwean Dollar");
	
	private String code;
	private String name;
	private String englishName;
	
	Currency(String code,String name,String englishName){
		this.code=code;
		this.name=name;
		this.englishName=englishName;
	}
	Currency(){}
	
	public String getCode() {
		return code;
	}
	public void setCode(String code) {
		this.code = code;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getEnglishName() {
		return englishName;
	}
	public void setEnglishName(String englishName) {
		this.englishName = englishName;
	}

}

        3.使用Java.util.Currency类

        Currency是util包下的货币实现,使用它可以做很多事情,所以在没有特殊情况下推荐使用这种方式,以下是一个简单实例:

Currency currency = null;
//美国
currency = Currency.getInstance(Locale.US);
System.out.println("United States: " + currency.getSymbol());
//英国
currency = Currency.getInstance(Locale.UK);
System.out.println("United Kingdom: " + currency.getSymbol());
//法国
currency = Currency.getInstance(Locale.FRANCE);
System.out.println("France: " + currency.getSymbol());

//打印结果:
United States: USD
United Kingdom: GBP
France: EUR

猜你喜欢

转载自286.iteye.com/blog/2313554
今日推荐