2010-02-24 2 views
3

내 응용 프로그램은 XML에서 Core Data로 파싱 된 위도 및 경도 값을 저장해야합니다. 현재, 이러한 속성이 double으로 설정된 코어 데이터 모델이 있습니다. 모델 개체의 헤더 파일은 다음과 같이 정의됩니다. NSNumber코어 데이터에 저장하기 위해 NSMutableString을 이중으로 변환하려면 어떻게해야합니까?

CurrentNodeText 변수에 저장된 문자열을 핵심 데이터 저장소에 필요한 유형으로 변환하려면 어떻게해야합니까? 또한, 이것은 Core Data에 좌표 데이터를 저장하는 적절한 방법입니까?

답변

5

NSString에는 doubleValue 메서드가 있습니다.이 메서드는 문자열을 검사하여 double과 비슷한지 확인하고 그 값을 반환합니다 (그렇지 않은 경우 0.0).

좌표 데이터를 저장하는 적절한 방법인지 여부는 다음과 같습니다. 2 진 부동 소수점 수는 십진수가 취할 수있는 모든 수를 정확하게 나타낼 수 없습니다. 이 경우에는 극도로 가깝지 만 정밀도를 요구하는 계산을 망칠 수 있습니다. 예를 들어 부동 소수점을 비교하여 부동 소수점이 다른 부동 소수점보다 작은 지 여부를 테스트하는 경우 정확한 결과를 얻을 수 없습니다. 정확한 숫자가 중요한 경우 NSDecimalNumber, NSDecimal 또는 NSString에 숫자를 유지하는 것이 좋습니다.

+0

+1에 대한 설명입니다. 부동 소수점 데이터 유형은 그대로 남용됩니다. –

관련 문제