【ISO 4217】
ISO 4217是由国际标准化组织制定的国际标准，用以表示货币或资金名称。其标准共分为三个表：
* 表A1：货币和资金代码表
* 表A2：向维护机构注册的资金代码列表
* 表A3：曾使用的货币和资金代码列表
这些列表由瑞士SIX银行同业结算公司代表ISO和瑞士标准化协会负责维护。
ISO 4217代码在全球的银行和企业中均会使用。在许多的国家和地区，报纸和银行在发布汇率时都会直接使用ISO代码，而非将货币名称进行翻译或者使用货币符号。ISO 4217代码也会在机票和国际专列上用以表示价格。
在中文地区，中华人民共和国国家标准GB/T 12406-1996《表示货币和资金的代码》与ISO 4217:1990等同采用，而后修订的GB/T 12406-2008则与ISO 4217:2001等同采用；中华民国国家标准CNS 12873《货币及基金代码之表示法》与ISO 4217相对应。
== 历史沿革 ==
1973年，国际标准化组织金融服务技术委员会，决定为在商业、贸易和银行业务中使用的货币和资金代码制定标准。在1978年2月的第17届大会上，联合国与联合国欧洲经济委员会的专家组一致决定，在国际贸易中使用ISO 4217国际标准中的三位字母代码。
随着时间的推移，不断有新的货币产生，也不断有旧的货币废除。这种变化通常是因为由新的政府成立、国家之间签订新的共同货币协议、以及现有货币出现严重通货膨胀。因此，这一标准中的货币代码在不断地更新。ISO 4217维护机构（MA） 瑞士SIX银行同业结算公司date=20190616203905 负责对列表中的代码进行维护。
== 编码规则 ==
ISO 4217代码由三位字母组成。其中，前两位字母是由ISO 3166-1规定的国家地区代码（同时也在互联网的国家和地区顶级域名中使用），第三位字母通常是货币名的首字母。例如，人民币的货币代码CNY由代表中国的代码“CN”和人民币元（Yuan）的首字母Y组成，美元的货币代码USD由代表美国的代码“US”和美元（Dollar）的首字母D组成。这样可以解决同一个货币单位，如元（Dollar）、法郎（Franc）和镑（Pound），在许多国家同时使用、但币值不等的情况。
有些货币遇到严重的通货膨胀以致币值过低时，会重定面值。重定面值时，有时更换货币单位，但遇到不换单位的案例时，ISO 4217货币代码仍会更换，例如，俄罗斯卢布代码曾自RUR改成RUB，而1 RUB = 1000 RUR。
=== 以X开头的货币代码 ===
ISO 4217中同样给出了一些特殊代码，包括在多国流通的“超国家”货币代码、程序代码和一些准货币的代码：
* 贵金属代码金（XAU）、银（XAG）、钯（XPD）和铂（XPT）由其元素符号外加前缀“X”构成。这些“货币单位”以金衡盎司作为基本单元。
* 代码XTS是为测试而特别保留的代码。
* 代码XXX用来表示不涉及货币的交易，即以物易物。
* 还有一些代码用以表示在国际金融中使用的货币工具，例如XDR代表国际货币基金组织的特别提款权。
* 大多数的超国家货币，例如东加勒比元（XCD）、太平洋法郎（XPF）、中非法郎（XAF）和西非法郎（XOF）。欧元的前身欧洲货币单位（ECU）使用代码XEU。
在这些代码中使用X开头的原因是，ISO 3166标准中不存在以X开头的国家地区代码。因此，在ISO 4217中可以避免其代码与某个未来国家的货币代码发生冲突。
由于ISO 3166-1中包括例外保留代码EU（代表欧洲联盟），因此在欧元启用后，其代码并非以X开头，而是EUR。
=== 货币的辅助单位 ===
ISO 4217标准给出了一种粗略的机制，用于表示某一货币的主辅币关系。这种机制被称为辅助单位，是主辅币比率的以10为底的对数。例如，1 USD（美元）等于100美分，因此USD的辅助单位为2。JPY（日元）的辅助单位为0，因为其辅币单位分已经不再使用。在一般情况下，辅币的价值都是主币的百分之一，但有时也可能是千分之一（例如巴林第纳尔，辅助单位为3），或者不是10的倍数。毛里塔尼亚的货币单位不是十进制，而是规定1乌吉亚等于5考姆斯，而马达加斯加规定1阿里亚里等于5分。在货币没有辅币、或辅币因为面值过小而完全不流通时，规定其辅助单位为0。
=== 货币编号 ===
除货币代码之外，ISO 4217同时规定了货币的编号。这个编号也是三位数（不足时以0补齐），一般情况下与ISO 3166-1中规定的国家编号相同。例如，USD（美元）的编号是840，而ISO 3166-1里美国的国家编号也是840，但原有货币停用后改用新货币便有机会改为9XX的编号。
== ISO 4217代码的位置 ==
ISO标准没有对代码的使用位置进行规范化，因此它既可以出现在面值数字的前面，也可以出现在后面。不过，在欧盟出版局的英语、爱尔兰语、拉脱维亚语和马耳他语文件中，数字出现在ISO 4217代码的后面：
a sum of EUR 30
而在保加利亚语、克罗地亚语、捷克语、丹麦语、荷兰语、爱沙尼亚语、芬兰语、法语、德语、希腊语、匈牙利语、意大利语、立陶宛语、波兰语、葡萄牙语、罗马尼亚语、斯洛伐克语、斯洛文尼亚语、西班牙语和瑞典语的文件中，ISO 4217代码又出现在了数字的后面：
une somme de 30 EUR
需要注意的是，这种顺序是根据文本语言改变的，并非根据货币本身进行改变。
== 现行代码 ==
下表列出了现行的ISO 4217代码：
说明：
== 非标准代码 ==
===没有ISO 4217代码的货币===
以下资金单位虽然列入了ISO 4217标准，但并未被赋予代码，这些资金单位包括：
* 无通用货币（南极洲）
* 债券市场单位（无固定实体）
* 特别清算货币（无固定实体）
另有一些货币没有被包含进ISO 4217中，因为它们：
# 是与主要货币1:1挂钩的次要货币，即便独立调节
# 作为法定货币仅发行纪念币或纪念钞，或者
# 是不被其他国家承认或仅被小部分国家承认的地区发行的货币。
这些货币包括：
* 奥尔德尼岛镑（与英镑1:1挂钩）
* 库克群岛元（与新西兰元1:1挂钩）
* 法罗群岛克朗（与丹麦克朗1:1挂钩）
* 根西岛镑（与英镑1:1挂钩）
* 曼岛镑（与英镑1:1挂钩）
* 泽西岛镑（与英镑1:1挂钩）
* 基里巴斯元（与澳大利亚元1:1挂钩）
* 马耳他骑士团斯库多（与欧元1:0.24挂钩）
* 索马里兰先令（该地区按照法律属于索马里的一部分，汇率不固定）
* 德涅斯特河沿岸卢布（该地区按照法律属于摩尔多瓦的一部分）
* 图瓦卢元（与澳大利亚元1:1挂钩）
* 津巴布韦债券（与美元1:1挂钩）
=== 非官方的货币代码 ===
下列货币代码在生活中较为常用，但并非ISO代码，其中部分亦不按照ISO 4217规则编码：
* RMB（人民币，中华人民共和国）（为汉语拼音Renminbi之缩写）
* CNH（人民币（离岸），中华人民共和国香港特别行政区）
* NTD（新台币，中华民国）
* GGP（根西岛镑，根西岛）
* JEP（泽西岛镑，泽西岛）
* IMP（曼岛镑，曼岛）
* KID（基里巴斯元，基里巴斯）
* SLS（索马里兰先令，索马里兰）（与ISO-4217的标准冲突，因为SL代表塞拉利昂）
* PRB（德涅斯特河沿岸卢布，德涅斯特河沿岸）（与ISO-4217的标准冲突，因为PR代表波多黎各）
* TVD（图瓦卢元，图瓦卢）
* BTC（比特币，无固定实体）（与ISO-4217的标准冲突，因为BT代表不丹）
* XBT（比特币，无固定实体）
* ZWB（津巴布韦债券，津巴布韦）
除此以外，GBX有时会被用来指代英镑的辅币便士。
== 过时的货币代码 ==
大量ISO 4217标准中曾经使用的货币代码在货币更换后不再使用，例如欧元区国家的货币在欧元流通之后。下表列出了曾经使用过的ISO货币代码，以及它们的常用名：