Получите алфавитный код валюты iso от числового кода валюты iso в C # [дубликат]

1
задан John Saunders 20 July 2009 в 23:35
поделиться

3 ответа

Коды валют ISO3166 (840 для доллара США и т. д.) недоступны в инфраструктуре .Net. Все, что вы можете получить из класса RegionInfo, - это код валюты ISO4217 (ISOCurrencyCode) (например, USD) и CurrencySymbol (например, $).

Вы, я боюсь, должны скачать список данных и само отображение.

3
ответ дан Matt Howells 20 August 2018 в 23:12
поделиться

Вот очищенная версия C #

    public class Iso4217Lookup
{
    // http://en.wikipedia.org/wiki/ISO_4217
    private static readonly List<Iso4217Definition> DefinitionCollection = new List<Iso4217Definition> {
        new Iso4217Definition("AED", 784, 2),
        new Iso4217Definition("AFN", 971, 2),
        new Iso4217Definition("ALL", 8, 2),
        new Iso4217Definition("AMD", 51, 2),
        new Iso4217Definition("ANG", 532, 2),
        new Iso4217Definition("AOA", 973, 2),
        new Iso4217Definition("ARS", 32, 2),
        new Iso4217Definition("AUD", 36, 2),
        new Iso4217Definition("AWG", 533, 2),
        new Iso4217Definition("AZN", 944, 2),
        new Iso4217Definition("BAM", 977, 2),
        new Iso4217Definition("BBD", 52, 2),
        new Iso4217Definition("BDT", 50, 2),
        new Iso4217Definition("BGN", 975, 2),
        new Iso4217Definition("BHD", 48, 3),
        new Iso4217Definition("BIF", 108, 0),
        new Iso4217Definition("BMD", 60, 2),
        new Iso4217Definition("BND", 96, 2),
        new Iso4217Definition("BOB", 68, 2),
        new Iso4217Definition("BOV", 984, 2),
        new Iso4217Definition("BRL", 986, 2),
        new Iso4217Definition("BSD", 44, 2),
        new Iso4217Definition("BTN", 64, 2),
        new Iso4217Definition("BWP", 72, 2),
        new Iso4217Definition("BYR", 974, 0),
        new Iso4217Definition("BZD", 84, 2),
        new Iso4217Definition("CAD", 124, 2),
        new Iso4217Definition("CDF", 976, 2),
        new Iso4217Definition("CHE", 947, 2),
        new Iso4217Definition("CHF", 756, 2),
        new Iso4217Definition("CHW", 948, 2),
        new Iso4217Definition("CLF", 990, 0),
        new Iso4217Definition("CLP", 152, 0),
        new Iso4217Definition("CNY", 156, 2),
        new Iso4217Definition("COP", 170, 2),
        new Iso4217Definition("COU", 970, 2),
        new Iso4217Definition("CRC", 188, 2),
        new Iso4217Definition("CUC", 931, 2),
        new Iso4217Definition("CUP", 192, 2),
        new Iso4217Definition("CVE", 132, 0),
        new Iso4217Definition("CZK", 203, 2),
        new Iso4217Definition("DJF", 262, 0),
        new Iso4217Definition("DKK", 208, 2),
        new Iso4217Definition("DOP", 214, 2),
        new Iso4217Definition("DZD", 12, 2),
        new Iso4217Definition("EGP", 818, 2),
        new Iso4217Definition("ERN", 232, 2),
        new Iso4217Definition("ETB", 230, 2),
        new Iso4217Definition("EUR", 978, 2),
        new Iso4217Definition("FJD", 242, 2),
        new Iso4217Definition("FKP", 238, 2),
        new Iso4217Definition("GBP", 826, 2),
        new Iso4217Definition("GEL", 981, 2),
        new Iso4217Definition("GHS", 936, 2),
        new Iso4217Definition("GIP", 292, 2),
        new Iso4217Definition("GMD", 270, 2),
        new Iso4217Definition("GNF", 324, 0),
        new Iso4217Definition("GTQ", 320, 2),
        new Iso4217Definition("GYD", 328, 2),
        new Iso4217Definition("HKD", 344, 2),
        new Iso4217Definition("HNL", 340, 2),
        new Iso4217Definition("HRK", 191, 2),
        new Iso4217Definition("HTG", 332, 2),
        new Iso4217Definition("HUF", 348, 2),
        new Iso4217Definition("IDR", 360, 2),
        new Iso4217Definition("ILS", 376, 2),
        new Iso4217Definition("INR", 356, 2),
        new Iso4217Definition("IQD", 368, 3),
        new Iso4217Definition("IRR", 364, 0),
        new Iso4217Definition("ISK", 352, 0),
        new Iso4217Definition("JMD", 388, 2),
        new Iso4217Definition("JOD", 400, 3),
        new Iso4217Definition("JPY", 392, 0),
        new Iso4217Definition("KES", 404, 2),
        new Iso4217Definition("KGS", 417, 2),
        new Iso4217Definition("KHR", 116, 2),
        new Iso4217Definition("KMF", 174, 0),
        new Iso4217Definition("KPW", 408, 0),
        new Iso4217Definition("KRW", 410, 0),
        new Iso4217Definition("KWD", 414, 3),
        new Iso4217Definition("KYD", 136, 2),
        new Iso4217Definition("KZT", 398, 2),
        new Iso4217Definition("LAK", 418, 0),
        new Iso4217Definition("LBP", 422, 0),
        new Iso4217Definition("LKR", 144, 2),
        new Iso4217Definition("LRD", 430, 2),
        new Iso4217Definition("LSL", 426, 2),
        new Iso4217Definition("LTL", 440, 2),
        new Iso4217Definition("LVL", 428, 2),
        new Iso4217Definition("LYD", 434, 3),
        new Iso4217Definition("MAD", 504, 2),
        new Iso4217Definition("MDL", 498, 2),
        new Iso4217Definition("MGA", 969, 2),
        new Iso4217Definition("MKD", 807, 0),
        new Iso4217Definition("MMK", 104, 0),
        new Iso4217Definition("MNT", 496, 2),
        new Iso4217Definition("MOP", 446, 2),
        new Iso4217Definition("MRO", 478, 2),
        new Iso4217Definition("MUR", 480, 2),
        new Iso4217Definition("MVR", 462, 2),
        new Iso4217Definition("MWK", 454, 2),
        new Iso4217Definition("MXN", 484, 2),
        new Iso4217Definition("MXV", 979, 2),
        new Iso4217Definition("MYR", 458, 2),
        new Iso4217Definition("MZN", 943, 2),
        new Iso4217Definition("NAD", 516, 2),
        new Iso4217Definition("NGN", 566, 2),
        new Iso4217Definition("NIO", 558, 2),
        new Iso4217Definition("NOK", 578, 2),
        new Iso4217Definition("NPR", 524, 2),
        new Iso4217Definition("NZD", 554, 2),
        new Iso4217Definition("OMR", 512, 3),
        new Iso4217Definition("PAB", 590, 2),
        new Iso4217Definition("PEN", 604, 2),
        new Iso4217Definition("PGK", 598, 2),
        new Iso4217Definition("PHP", 608, 2),
        new Iso4217Definition("PKR", 586, 2),
        new Iso4217Definition("PLN", 985, 2),
        new Iso4217Definition("PYG", 600, 0),
        new Iso4217Definition("QAR", 634, 2),
        new Iso4217Definition("RON", 946, 2),
        new Iso4217Definition("RSD", 941, 2),
        new Iso4217Definition("RUB", 643, 2),
        new Iso4217Definition("RWF", 646, 0),
        new Iso4217Definition("SAR", 682, 2),
        new Iso4217Definition("SBD", 90, 2),
        new Iso4217Definition("SCR", 690, 2),
        new Iso4217Definition("SDG", 938, 2),
        new Iso4217Definition("SEK", 752, 2),
        new Iso4217Definition("SGD", 702, 2),
        new Iso4217Definition("SHP", 654, 2),
        new Iso4217Definition("SLL", 694, 0),
        new Iso4217Definition("SOS", 706, 2),
        new Iso4217Definition("SRD", 968, 2),
        new Iso4217Definition("SSP", 728, 2),
        new Iso4217Definition("STD", 678, 0),
        new Iso4217Definition("SYP", 760, 2),
        new Iso4217Definition("SZL", 748, 2),
        new Iso4217Definition("THB", 764, 2),
        new Iso4217Definition("TJS", 972, 2),
        new Iso4217Definition("TMT", 934, 2),
        new Iso4217Definition("TND", 788, 3),
        new Iso4217Definition("TOP", 776, 2),
        new Iso4217Definition("TRY", 949, 2),
        new Iso4217Definition("TTD", 780, 2),
        new Iso4217Definition("TWD", 901, 2),
        new Iso4217Definition("TZS", 834, 2),
        new Iso4217Definition("UAH", 980, 2),
        new Iso4217Definition("UGX", 800, 2),
        new Iso4217Definition("USD", 840, 2),
        new Iso4217Definition("USN", 997, 2),
        new Iso4217Definition("USS", 998, 2),
        new Iso4217Definition("UYI", 940, 0),
        new Iso4217Definition("UYU", 858, 2),
        new Iso4217Definition("UZS", 860, 2),
        new Iso4217Definition("VEF", 937, 2),
        new Iso4217Definition("VND", 704, 0),
        new Iso4217Definition("VUV", 548, 0),
        new Iso4217Definition("WST", 882, 2),
        new Iso4217Definition("XAF", 950, 0),
        new Iso4217Definition("XCD", 951, 2),
        new Iso4217Definition("XOF", 952, 0),
        new Iso4217Definition("XPF", 953, 0),
        new Iso4217Definition("YER", 886, 2),
        new Iso4217Definition("ZAR", 710, 2),
        new Iso4217Definition("ZMW", 967, 2)

    };

    public static Iso4217Definition LookupByCode(string code)
    {
        return DefinitionCollection.SingleOrDefault(d => d.Code == code.ToUpper()) ?? Iso4217Definition.NotFound();
    }

    public static Iso4217Definition LookupByNumber(int number)
    {
        return DefinitionCollection.SingleOrDefault(d => d.Number == number) ?? Iso4217Definition.NotFound();
    }

    public class Iso4217Definition
    {
        private readonly string _code;
        private readonly int _number;
        private readonly int _exponent;
        public bool Found { get; set; }

        public string Code
        {
            get { return _code; }
        }

        public int Number
        {
            get { return _number; }
        }

        public int Exponent
        {
            get { return _exponent; }
        }

        private Iso4217Definition() {}

        public Iso4217Definition(string code, int number, int exponent)
        {
            _code = code;
            _number = number;
            _exponent = exponent;
            Found = true;
        }

        public static Iso4217Definition NotFound()
        {
            return new Iso4217Definition { Found = false };
        }
    } 
}
2
ответ дан Sergey 20 August 2018 в 23:12
поделиться
  • 1
    FYI, для MRO и MGA вы добавили 2, но Wikipedia говорит 1 (с комментарием) – Cine 28 November 2016 в 04:09

Я знаю, что это старо, но я просто столкнулся с этим сам и подумал, что может быть полезно решение кода проблемы.


VB.Net

Namespace Utils.CurrencyUtils

    Public Class Iso4217Lookup

        ' Michael Krzenski
        ' 2/20/2013
        ' ISO4217 Information gathered from:
        ' http://en.wikipedia.org/wiki/ISO_4217
        ' http://www.commondatahub.com/static/geography/currency/country_currency_codes.0000000001.html

        Private Shared _notFoundDefinition As New Iso4217Definition("NotFound", -1, -1)
        Private Shared _definitionCollection As New List(Of Iso4217Definition) From {
                New Iso4217Definition("AED", 784, 2),
                New Iso4217Definition("AFN", 971, 2),
                New Iso4217Definition("ALL", 8, 2),
                New Iso4217Definition("AMD", 51, 2),
                New Iso4217Definition("ANG", 532, 2),
                New Iso4217Definition("AOA", 973, 2),
                New Iso4217Definition("ARS", 32, 2),
                New Iso4217Definition("AUD", 36, 2),
                New Iso4217Definition("AWG", 533, 2),
                New Iso4217Definition("AZN", 944, 2),
                New Iso4217Definition("BAM", 977, 2),
                New Iso4217Definition("BBD", 52, 2),
                New Iso4217Definition("BDT", 50, 2),
                New Iso4217Definition("BGN", 975, 2),
                New Iso4217Definition("BHD", 48, 3),
                New Iso4217Definition("BIF", 108, 0),
                New Iso4217Definition("BMD", 60, 2),
                New Iso4217Definition("BND", 96, 2),
                New Iso4217Definition("BOB", 68, 2),
                New Iso4217Definition("BOV", 984, 2),
                New Iso4217Definition("BRL", 986, 2),
                New Iso4217Definition("BSD", 44, 2),
                New Iso4217Definition("BTN", 64, 2),
                New Iso4217Definition("BWP", 72, 2),
                New Iso4217Definition("BYR", 974, 0),
                New Iso4217Definition("BZD", 84, 2),
                New Iso4217Definition("CAD", 124, 2),
                New Iso4217Definition("CDF", 976, 2),
                New Iso4217Definition("CHE", 947, 2),
                New Iso4217Definition("CHF", 756, 2),
                New Iso4217Definition("CHW", 948, 2),
                New Iso4217Definition("CLF", 990, 0),
                New Iso4217Definition("CLP", 152, 0),
                New Iso4217Definition("CNY", 156, 2),
                New Iso4217Definition("COP", 170, 2),
                New Iso4217Definition("COU", 970, 2),
                New Iso4217Definition("CRC", 188, 2),
                New Iso4217Definition("CUC", 931, 2),
                New Iso4217Definition("CUP", 192, 2),
                New Iso4217Definition("CVE", 132, 0),
                New Iso4217Definition("CZK", 203, 2),
                New Iso4217Definition("DJF", 262, 0),
                New Iso4217Definition("DKK", 208, 2),
                New Iso4217Definition("DOP", 214, 2),
                New Iso4217Definition("DZD", 12, 2),
                New Iso4217Definition("EGP", 818, 2),
                New Iso4217Definition("ERN", 232, 2),
                New Iso4217Definition("ETB", 230, 2),
                New Iso4217Definition("EUR", 978, 2),
                New Iso4217Definition("FJD", 242, 2),
                New Iso4217Definition("FKP", 238, 2),
                New Iso4217Definition("GBP", 826, 2),
                New Iso4217Definition("GEL", 981, 2),
                New Iso4217Definition("GHS", 936, 2),
                New Iso4217Definition("GIP", 292, 2),
                New Iso4217Definition("GMD", 270, 2),
                New Iso4217Definition("GNF", 324, 0),
                New Iso4217Definition("GTQ", 320, 2),
                New Iso4217Definition("GYD", 328, 2),
                New Iso4217Definition("HKD", 344, 2),
                New Iso4217Definition("HNL", 340, 2),
                New Iso4217Definition("HRK", 191, 2),
                New Iso4217Definition("HTG", 332, 2),
                New Iso4217Definition("HUF", 348, 2),
                New Iso4217Definition("IDR", 360, 2),
                New Iso4217Definition("ILS", 376, 2),
                New Iso4217Definition("INR", 356, 2),
                New Iso4217Definition("IQD", 368, 3),
                New Iso4217Definition("IRR", 364, 0),
                New Iso4217Definition("ISK", 352, 0),
                New Iso4217Definition("JMD", 388, 2),
                New Iso4217Definition("JOD", 400, 3),
                New Iso4217Definition("JPY", 392, 0),
                New Iso4217Definition("KES", 404, 2),
                New Iso4217Definition("KGS", 417, 2),
                New Iso4217Definition("KHR", 116, 2),
                New Iso4217Definition("KMF", 174, 0),
                New Iso4217Definition("KPW", 408, 0),
                New Iso4217Definition("KRW", 410, 0),
                New Iso4217Definition("KWD", 414, 3),
                New Iso4217Definition("KYD", 136, 2),
                New Iso4217Definition("KZT", 398, 2),
                New Iso4217Definition("LAK", 418, 0),
                New Iso4217Definition("LBP", 422, 0),
                New Iso4217Definition("LKR", 144, 2),
                New Iso4217Definition("LRD", 430, 2),
                New Iso4217Definition("LSL", 426, 2),
                New Iso4217Definition("LTL", 440, 2),
                New Iso4217Definition("LVL", 428, 2),
                New Iso4217Definition("LYD", 434, 3),
                New Iso4217Definition("MAD", 504, 2),
                New Iso4217Definition("MDL", 498, 2),
                New Iso4217Definition("MGA", 969, 0.7),
                New Iso4217Definition("MKD", 807, 0),
                New Iso4217Definition("MMK", 104, 0),
                New Iso4217Definition("MNT", 496, 2),
                New Iso4217Definition("MOP", 446, 2),
                New Iso4217Definition("MRO", 478, 0.7),
                New Iso4217Definition("MUR", 480, 2),
                New Iso4217Definition("MVR", 462, 2),
                New Iso4217Definition("MWK", 454, 2),
                New Iso4217Definition("MXN", 484, 2),
                New Iso4217Definition("MXV", 979, 2),
                New Iso4217Definition("MYR", 458, 2),
                New Iso4217Definition("MZN", 943, 2),
                New Iso4217Definition("NAD", 516, 2),
                New Iso4217Definition("NGN", 566, 2),
                New Iso4217Definition("NIO", 558, 2),
                New Iso4217Definition("NOK", 578, 2),
                New Iso4217Definition("NPR", 524, 2),
                New Iso4217Definition("NZD", 554, 2),
                New Iso4217Definition("OMR", 512, 3),
                New Iso4217Definition("PAB", 590, 2),
                New Iso4217Definition("PEN", 604, 2),
                New Iso4217Definition("PGK", 598, 2),
                New Iso4217Definition("PHP", 608, 2),
                New Iso4217Definition("PKR", 586, 2),
                New Iso4217Definition("PLN", 985, 2),
                New Iso4217Definition("PYG", 600, 0),
                New Iso4217Definition("QAR", 634, 2),
                New Iso4217Definition("RON", 946, 2),
                New Iso4217Definition("RSD", 941, 2),
                New Iso4217Definition("RUB", 643, 2),
                New Iso4217Definition("RWF", 646, 0),
                New Iso4217Definition("SAR", 682, 2),
                New Iso4217Definition("SBD", 90, 2),
                New Iso4217Definition("SCR", 690, 2),
                New Iso4217Definition("SDG", 938, 2),
                New Iso4217Definition("SEK", 752, 2),
                New Iso4217Definition("SGD", 702, 2),
                New Iso4217Definition("SHP", 654, 2),
                New Iso4217Definition("SLL", 694, 0),
                New Iso4217Definition("SOS", 706, 2),
                New Iso4217Definition("SRD", 968, 2),
                New Iso4217Definition("SSP", 728, 2),
                New Iso4217Definition("STD", 678, 0),
                New Iso4217Definition("SYP", 760, 2),
                New Iso4217Definition("SZL", 748, 2),
                New Iso4217Definition("THB", 764, 2),
                New Iso4217Definition("TJS", 972, 2),
                New Iso4217Definition("TMT", 934, 2),
                New Iso4217Definition("TND", 788, 3),
                New Iso4217Definition("TOP", 776, 2),
                New Iso4217Definition("TRY", 949, 2),
                New Iso4217Definition("TTD", 780, 2),
                New Iso4217Definition("TWD", 901, 2),
                New Iso4217Definition("TZS", 834, 2),
                New Iso4217Definition("UAH", 980, 2),
                New Iso4217Definition("UGX", 800, 2),
                New Iso4217Definition("USD", 840, 2),
                New Iso4217Definition("USN", 997, 2),
                New Iso4217Definition("USS", 998, 2),
                New Iso4217Definition("UYI", 940, 0),
                New Iso4217Definition("UYU", 858, 2),
                New Iso4217Definition("UZS", 860, 2),
                New Iso4217Definition("VEF", 937, 2),
                New Iso4217Definition("VND", 704, 0),
                New Iso4217Definition("VUV", 548, 0),
                New Iso4217Definition("WST", 882, 2),
                New Iso4217Definition("XAF", 950, 0),
                New Iso4217Definition("XCD", 951, 2),
                New Iso4217Definition("XOF", 952, 0),
                New Iso4217Definition("XPF", 953, 0),
                New Iso4217Definition("YER", 886, 2),
                New Iso4217Definition("ZAR", 710, 2),
                New Iso4217Definition("ZMW", 967, 2)
            }

        Public Shared Function LookupByCode(ByVal code As String) As Iso4217Definition
            Dim def = _definitionCollection.Where(Function(d) d.Code = code.ToUpper()).SingleOrDefault
            If def Is Nothing Then def = _notFoundDefinition
            Return def
        End Function

        Public Shared Function LookupByNumber(ByVal number As Integer) As Iso4217Definition
            Dim def = _definitionCollection.Where(Function(d) d.Number = number).SingleOrDefault
            If def Is Nothing Then def = _notFoundDefinition
            Return def
        End Function

        Public Class Iso4217Definition
            Private _code As String
            Private _number As Integer
            Private _exponent As Integer
            Public ReadOnly Property Code As String
                Get
                    Return _code
                End Get
            End Property
            Public ReadOnly Property Number As Integer
                Get
                    Return _number
                End Get
            End Property
            Public ReadOnly Property Exponent As Integer
                Get
                    Return _exponent
                End Get
            End Property
            Public Sub New(ByVal code As String,
                           ByVal number As Integer,
                           ByVal exponent As Integer)
                _code = code
                _number = number
                _exponent = exponent
            End Sub
        End Class

    End Class

End Namespace

C #

namespace Utils.CurrencyUtils
{

    public class Iso4217Lookup
    {

        // Michael Krzenski
        // 2/20/2013
        // ISO4217 Information gathered from:
        // http://en.wikipedia.org/wiki/ISO_4217
        // http://www.commondatahub.com/static/geography/currency/country_currency_codes.0000000001.html

        private static Iso4217Definition _notFoundDefinition = new Iso4217Definition("NotFound", -1, -1);
        private static List<Iso4217Definition> _definitionCollection = new List<Iso4217Definition> {
            new Iso4217Definition("AED", 784, 2),
            new Iso4217Definition("AFN", 971, 2),
            new Iso4217Definition("ALL", 8, 2),
            new Iso4217Definition("AMD", 51, 2),
            new Iso4217Definition("ANG", 532, 2),
            new Iso4217Definition("AOA", 973, 2),
            new Iso4217Definition("ARS", 32, 2),
            new Iso4217Definition("AUD", 36, 2),
            new Iso4217Definition("AWG", 533, 2),
            new Iso4217Definition("AZN", 944, 2),
            new Iso4217Definition("BAM", 977, 2),
            new Iso4217Definition("BBD", 52, 2),
            new Iso4217Definition("BDT", 50, 2),
            new Iso4217Definition("BGN", 975, 2),
            new Iso4217Definition("BHD", 48, 3),
            new Iso4217Definition("BIF", 108, 0),
            new Iso4217Definition("BMD", 60, 2),
            new Iso4217Definition("BND", 96, 2),
            new Iso4217Definition("BOB", 68, 2),
            new Iso4217Definition("BOV", 984, 2),
            new Iso4217Definition("BRL", 986, 2),
            new Iso4217Definition("BSD", 44, 2),
            new Iso4217Definition("BTN", 64, 2),
            new Iso4217Definition("BWP", 72, 2),
            new Iso4217Definition("BYR", 974, 0),
            new Iso4217Definition("BZD", 84, 2),
            new Iso4217Definition("CAD", 124, 2),
            new Iso4217Definition("CDF", 976, 2),
            new Iso4217Definition("CHE", 947, 2),
            new Iso4217Definition("CHF", 756, 2),
            new Iso4217Definition("CHW", 948, 2),
            new Iso4217Definition("CLF", 990, 0),
            new Iso4217Definition("CLP", 152, 0),
            new Iso4217Definition("CNY", 156, 2),
            new Iso4217Definition("COP", 170, 2),
            new Iso4217Definition("COU", 970, 2),
            new Iso4217Definition("CRC", 188, 2),
            new Iso4217Definition("CUC", 931, 2),
            new Iso4217Definition("CUP", 192, 2),
            new Iso4217Definition("CVE", 132, 0),
            new Iso4217Definition("CZK", 203, 2),
            new Iso4217Definition("DJF", 262, 0),
            new Iso4217Definition("DKK", 208, 2),
            new Iso4217Definition("DOP", 214, 2),
            new Iso4217Definition("DZD", 12, 2),
            new Iso4217Definition("EGP", 818, 2),
            new Iso4217Definition("ERN", 232, 2),
            new Iso4217Definition("ETB", 230, 2),
            new Iso4217Definition("EUR", 978, 2),
            new Iso4217Definition("FJD", 242, 2),
            new Iso4217Definition("FKP", 238, 2),
            new Iso4217Definition("GBP", 826, 2),
            new Iso4217Definition("GEL", 981, 2),
            new Iso4217Definition("GHS", 936, 2),
            new Iso4217Definition("GIP", 292, 2),
            new Iso4217Definition("GMD", 270, 2),
            new Iso4217Definition("GNF", 324, 0),
            new Iso4217Definition("GTQ", 320, 2),
            new Iso4217Definition("GYD", 328, 2),
            new Iso4217Definition("HKD", 344, 2),
            new Iso4217Definition("HNL", 340, 2),
            new Iso4217Definition("HRK", 191, 2),
            new Iso4217Definition("HTG", 332, 2),
            new Iso4217Definition("HUF", 348, 2),
            new Iso4217Definition("IDR", 360, 2),
            new Iso4217Definition("ILS", 376, 2),
            new Iso4217Definition("INR", 356, 2),
            new Iso4217Definition("IQD", 368, 3),
            new Iso4217Definition("IRR", 364, 0),
            new Iso4217Definition("ISK", 352, 0),
            new Iso4217Definition("JMD", 388, 2),
            new Iso4217Definition("JOD", 400, 3),
            new Iso4217Definition("JPY", 392, 0),
            new Iso4217Definition("KES", 404, 2),
            new Iso4217Definition("KGS", 417, 2),
            new Iso4217Definition("KHR", 116, 2),
            new Iso4217Definition("KMF", 174, 0),
            new Iso4217Definition("KPW", 408, 0),
            new Iso4217Definition("KRW", 410, 0),
            new Iso4217Definition("KWD", 414, 3),
            new Iso4217Definition("KYD", 136, 2),
            new Iso4217Definition("KZT", 398, 2),
            new Iso4217Definition("LAK", 418, 0),
            new Iso4217Definition("LBP", 422, 0),
            new Iso4217Definition("LKR", 144, 2),
            new Iso4217Definition("LRD", 430, 2),
            new Iso4217Definition("LSL", 426, 2),
            new Iso4217Definition("LTL", 440, 2),
            new Iso4217Definition("LVL", 428, 2),
            new Iso4217Definition("LYD", 434, 3),
            new Iso4217Definition("MAD", 504, 2),
            new Iso4217Definition("MDL", 498, 2),
            new Iso4217Definition("MGA", 969, 0.7),
            new Iso4217Definition("MKD", 807, 0),
            new Iso4217Definition("MMK", 104, 0),
            new Iso4217Definition("MNT", 496, 2),
            new Iso4217Definition("MOP", 446, 2),
            new Iso4217Definition("MRO", 478, 0.7),
            new Iso4217Definition("MUR", 480, 2),
            new Iso4217Definition("MVR", 462, 2),
            new Iso4217Definition("MWK", 454, 2),
            new Iso4217Definition("MXN", 484, 2),
            new Iso4217Definition("MXV", 979, 2),
            new Iso4217Definition("MYR", 458, 2),
            new Iso4217Definition("MZN", 943, 2),
            new Iso4217Definition("NAD", 516, 2),
            new Iso4217Definition("NGN", 566, 2),
            new Iso4217Definition("NIO", 558, 2),
            new Iso4217Definition("NOK", 578, 2),
            new Iso4217Definition("NPR", 524, 2),
            new Iso4217Definition("NZD", 554, 2),
            new Iso4217Definition("OMR", 512, 3),
            new Iso4217Definition("PAB", 590, 2),
            new Iso4217Definition("PEN", 604, 2),
            new Iso4217Definition("PGK", 598, 2),
            new Iso4217Definition("PHP", 608, 2),
            new Iso4217Definition("PKR", 586, 2),
            new Iso4217Definition("PLN", 985, 2),
            new Iso4217Definition("PYG", 600, 0),
            new Iso4217Definition("QAR", 634, 2),
            new Iso4217Definition("RON", 946, 2),
            new Iso4217Definition("RSD", 941, 2),
            new Iso4217Definition("RUB", 643, 2),
            new Iso4217Definition("RWF", 646, 0),
            new Iso4217Definition("SAR", 682, 2),
            new Iso4217Definition("SBD", 90, 2),
            new Iso4217Definition("SCR", 690, 2),
            new Iso4217Definition("SDG", 938, 2),
            new Iso4217Definition("SEK", 752, 2),
            new Iso4217Definition("SGD", 702, 2),
            new Iso4217Definition("SHP", 654, 2),
            new Iso4217Definition("SLL", 694, 0),
            new Iso4217Definition("SOS", 706, 2),
            new Iso4217Definition("SRD", 968, 2),
            new Iso4217Definition("SSP", 728, 2),
            new Iso4217Definition("STD", 678, 0),
            new Iso4217Definition("SYP", 760, 2),
            new Iso4217Definition("SZL", 748, 2),
            new Iso4217Definition("THB", 764, 2),
            new Iso4217Definition("TJS", 972, 2),
            new Iso4217Definition("TMT", 934, 2),
            new Iso4217Definition("TND", 788, 3),
            new Iso4217Definition("TOP", 776, 2),
            new Iso4217Definition("TRY", 949, 2),
            new Iso4217Definition("TTD", 780, 2),
            new Iso4217Definition("TWD", 901, 2),
            new Iso4217Definition("TZS", 834, 2),
            new Iso4217Definition("UAH", 980, 2),
            new Iso4217Definition("UGX", 800, 2),
            new Iso4217Definition("USD", 840, 2),
            new Iso4217Definition("USN", 997, 2),
            new Iso4217Definition("USS", 998, 2),
            new Iso4217Definition("UYI", 940, 0),
            new Iso4217Definition("UYU", 858, 2),
            new Iso4217Definition("UZS", 860, 2),
            new Iso4217Definition("VEF", 937, 2),
            new Iso4217Definition("VND", 704, 0),
            new Iso4217Definition("VUV", 548, 0),
            new Iso4217Definition("WST", 882, 2),
            new Iso4217Definition("XAF", 950, 0),
            new Iso4217Definition("XCD", 951, 2),
            new Iso4217Definition("XOF", 952, 0),
            new Iso4217Definition("XPF", 953, 0),
            new Iso4217Definition("YER", 886, 2),
            new Iso4217Definition("ZAR", 710, 2),
            new Iso4217Definition("ZMW", 967, 2)

        };
        public static Iso4217Definition LookupByCode(string code)
        {
            dynamic def = _definitionCollection.Where(d => d.Code == code.ToUpper()).SingleOrDefault;
            if (def == null)
                def = _notFoundDefinition;
            return def;
        }

        public static Iso4217Definition LookupByNumber(int number)
        {
            dynamic def = _definitionCollection.Where(d => d.Number == number).SingleOrDefault;
            if (def == null)
                def = _notFoundDefinition;
            return def;
        }

        public class Iso4217Definition
        {
            private string _code;
            private int _number;
            private int _exponent;
            public string Code {
                get { return _code; }
            }
            public int Number {
                get { return _number; }
            }
            public int Exponent {
                get { return _exponent; }
            }
            public Iso4217Definition(string code, int number, int exponent)
            {
                _code = code;
                _number = number;
                _exponent = exponent;
            }
        }

    }

}
5
ответ дан TheLostBrain 20 August 2018 в 23:12
поделиться
  • 1
    Конструктор Iso4217Definition ожидает, что показатель экспоненты будет int, но когда вы создаете новое Iso4217Definition («MGA», 969, 0.7), оно является десятичным. – user1069816 31 July 2014 в 10:45
Другие вопросы по тегам:

Похожие вопросы: