2014-04-08 3 views
-1

배열에서 통화 기호를 생성하고 싶습니다. 내가 직접 복용하는 경우 비 ascii 코드가 지원하지 않는 오류가 발생합니다. 이들은 기호입니다NSArray에서 통화 기호 생성

United States ($) 
United Kingdom (£) 
Euro Member (€) 
Australia ($) 
Albania (Lek) 
Afghanistan (؋) 
Argentina ($) 
Aruba (ƒ) 
Azerbaijan (ман) 
Bahamas ($) 
Barbados ($) 
Belarus (p.) 
Belize (BZ$) 
Bermuda ($) 
Bolivia ($b) 
Bosnia and Herzegovina (KM) 
Botswana (P) 
Bulgaria (лв) 
Brazil (R$) 
Brunei ($) 
Canada ($) 
Cayman ($) 
Chile ($) 
China (¥) 
Colombia ($) 
Costa Rica (₡) 
Croatia (kn) 
Cuba (₱) 
Czech Republic (Kč) 
Denmark (kr) 
Dominican Republic (RD$) 
East Caribbean ($) 
Egypt (£) 
El Salvador ($) 
Estonia (kr) 
Falkland Islands (£) 
Fiji ($) 
Ghana (¢) 
Gibraltar (£) 
Guatemala (Q) 
Guernsey (£) 
Guyana ($) 
Honduras (L) 
Hong Kong ($) 
Hungary (Ft) 
Iceland (kr) 
India (₹) 
Indonesia (Rp) 
Iran (ریال) 
Isle of Man (£) 
Israel (₪) 
Jamaica (J$) 
Japan (¥) 
Jersey (£) 
Kazakhstan (лв) 
NorthKorea (₩) 
South Korea (₩) 
Kyrgyzstan (лв) 
Laos (₭) 
Latvia (Ls) 
Lebanon (£) 
Liberia ($) 
Lithuania (Lt) 
Macedonia (ден) 
Malaysia (RM) 
Mauritius (Rs) 
Mexico ($) 
Mongolia (₮) 
Mozambique (MT) 
Namibia ($) 
Nepal (Rs) 
Netherlands (ƒ) 
New Zealand ($) 
Nicaragua (C$) 
Nigeria (₦) 
Norway (kr) 
Oman (﷼) 
Pakistan (Rs) 
Panama (B/.) 
Paraguay (Gs) 
Peru (S/.) 
Philippines (₱) 
Poland (zł) 
Qatar (﷼) ‫ 
Romania (lei) 
Russia (руб) 
Saint Helena (£) 
Saudi Arabia (﷼) 
Serbia (Дин.) 
Seychelles (Rs) 
Singapore ($) 
Solomon Islands ($) 
Somalia (S) 
South Africa (S) 
Sri Lanka (Rs) 
Sweden (kr) 
Switzerland (CHF) 
Suriname ($) 
Syria (£) 
Taiwan (NT$) 
Thailand (฿) 
Trinidad and Tobago (TT$) 
Turkey (₤) 
Tuvalu ($) 
Ukraine (₴) 
Uruguay ($U) 
Uzbekistan (лв) 
Venezuela (Bs) 
Viet Nam (₫) 
Yemen (﷼) 
Zimbabwe (Z$) 

이 기호들을 어떻게 배열로 가져갈 수 있습니까?

+1

표시 테 코드는 당신이 unichar에 국가와 사전을 가질 수 시도와 오류 텍스트 – Wain

+0

붙여 넣기 이름. unichar을 NSNumber 객체에 저장 한 다음 배열 –

+0

에이 객체를 저장하십시오.이 파일을 프로젝트에 가지고 있고 해당 파일에서 심볼을 추출하고 싶습니다. 올바른 것입니다. – Thukaram

답변

2
NSArray * ids = [NSLocale availableLocaleIdentifiers]; 
NSMutableArray * symbols = [NSMutableArray array]; 

for (NSString * localeIdentifier in ids) { 
    NSLocale * locale = [NSLocale localeWithLocaleIdentifier:localeIdentifier]; 
    NSString * symbol = [locale objectForKey:NSLocaleCurrencySymbol]; 

    if (symbol) 
     [symbols addObject:symbol]; 
} 

코드는 NSLocale를 사용 가능한 시스템 로케일 식별자를 통해 루프 및 각 통화의 기호 (NSLocaleCurrencySymbol)를 가져옵니다.

0

심볼의 유니 코드를 가져 와서 NSString으로 변환 한 다음 배열에 추가하십시오. 예를 들어, $ 기호에 대한 :

char cString[] = "\u0024"; 
NSData *data = [NSData dataWithBytes:cString length:strlen(cString)]; 
NSString *string = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; 
NSLog(@"result string: %@", string); 
[arr addObject:string]; 
-1

그것의 아주 간단한이 시도는 ....

NSArray* currency = [NSLocale availableLocaleIdentifiers]; 

for (int i = 0; i < [currency count]; i++) { 
    NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:currency[i]]; 
    NSString *currencyCode = [locale objectForKey:NSLocaleCurrencyCode]; 
    NSString *currencySymbol = [locale objectForKey:NSLocaleCurrencySymbol]; 
    NSLog(@"Code: %@ Symbol %@", currencyCode,currencySymbol); 
}