2011-06-12 3 views
4

NSNumberFormatter를 사용하면 고정 문자열을 GroupingSeparator로 사용하여 숫자의 서식을 지정하는 것이 매우 쉽습니다.NSNumberFormatter, 지역화 된 setGroupingSeparator?

[numberFormatter setGroupingSeparator:@"."]; 

그러나 일부 국가에서는 "." 유효한 구분 기호가 아닙니다. @ ","(쉼표)가 대신 사용됩니다. 시스템에서 지역화 된 그룹화 구분 기호를 가져 와서 모든 언어에서 전 세계의 형식이 올바른지 어떻게 확인할 수 있습니까?

답변

7

당신은 setLocale:를 사용할 수 있습니다

[numberFormatter setLocale:[NSLocale currentLocale]]; 

로케일은 소수 구분, 인용 부호, 측정 및 통화 단위 같은 것들에 대한 올바른 문자를 노출합니다.

그러나! 통화를 위해 이것을 사용하는 것을 조심하십시오; 자동 변환이 없습니다. 일정 금액의 미국 달러를 나타내는 숫자가 유로처럼 서식을 지정하면 올바르게 형식이 지정되지만 올바른 의미는 아닙니다.

+0

이것은 분명해야합니다.하지만 어쨌든이 실수를했습니다. 포맷터의 numberStyle 속성도 NSNumberFormatterNoStyle 이외의 값으로 설정해야합니다. –

+0

내가 왜 궁금해서 그게 필요한거야? 포매터는 자동으로 현재 로켈에서 로컬로 설정해야합니까? 그렇지 않다면 - 그렇지? – Lukasz

+0

네, 그렇습니다, @ 루카스 (Lukasz),하지만 제가 읽었을 때 OP의 문제는 장치의 현재 위치가 아닌 다른 로케일의 형식을 올바르게 지정하는 것이 었습니다. –

관련 문제