2009-07-20 2 views
3

통화 문자열을 10 진수 값으로 변환하도록 숫자 포맷터를 설정했습니다. 문제는 텍스트 문자열에 선행 달러 기호 ("$")가 없으면 유효한 일치하는 숫자가 아닌 0으로 변환된다는 것입니다. 그래서 :"0"을 반환하지 않는 Cocoa NSNumberFormatterCurrencyStyle

// formatter to convert a value to and from a currency string 
NSNumberFormatter *currencyFormatter = [[NSNumberFormatter alloc] init]; 
[currencyFormatter setNumberStyle:NSNumberFormatterCurrencyStyle]; 
[currencyFormatter setGeneratesDecimalNumbers:YES]; 

내가 뭔가를 놓치고 있습니까 :

여기
"$3.50" converts to 3.50 
"3.50" converts to 0 

는 컨버터의 코드는?

답변

1

비슷한 문제가 발생했습니다. 파싱을 위해 NSNumberFormatter를 폐기하고 RegexKit Lite로 훨씬 더 나은 결과로 전환했습니다. 사본 여기

잡아 : RegexKit Lite

가 여기에 http://regexlib.com/ 가서 당신을 위해 가장 적합한 정규식을 찾을 수 있습니다.

관련 문제