나는 NSDecimal을 얻는 상황이 있으며 NSInteger가 필요하다. 나는 이것이 아주 작은 값이라는 것을 안다. (이것은 절대적으로 확실하다). 100보다 클 수 없습니다. 따라서 NSInteger로 변환하면 완벽하게 오버 플로우가 발생하지 않습니다.NSDecimal 값을 NSInteger 값으로 변환하는 방법은 무엇입니까?
어떻게이 작업을 수행 할 수 있습니까? NSDecimal에는 -doubleValue 메서드가 있습니다.
나는 NSDecimal을 얻는 상황이 있으며 NSInteger가 필요하다. 나는 이것이 아주 작은 값이라는 것을 안다. (이것은 절대적으로 확실하다). 100보다 클 수 없습니다. 따라서 NSInteger로 변환하면 완벽하게 오버 플로우가 발생하지 않습니다.NSDecimal 값을 NSInteger 값으로 변환하는 방법은 무엇입니까?
어떻게이 작업을 수행 할 수 있습니까? NSDecimal에는 -doubleValue 메서드가 있습니다.
먼저 NSDecimalNumber로 변환하십시오. NSDecimalNumber는 NSNumber의 서브 클래스이므로 모든 NSNumber 메서드를 사용할 수 있습니다.
NSDecimalNumber *myNSDecimalNumber = [NSDecimalNumber decimalNumberWithDecimal:myNSDecimal];
NSInteger myInt = [myNSDecimalNumber intValue];
당신은 항상 doubleValue (나는 당신이 NSDecimalNumber를 가졌다 고 가정하고 있음)를 잡고 int로 타입 변환 할 수 있습니다.
NSDecimalNumber
Class Reference을 살펴보십시오. NSDecimal
에서 NSDecimalNumber
을 만든 다음 intValue
으로 전화하십시오.
NSDecimalNumber * decNum = [NSDecimalNumber decimalNumberWithDecimal:yourDecimal];
int yourInt = [decNum intValue];
NSDecimal 또는 NSDecimalNumber로 시작 하시겠습니까? 'NSDecimalNumber'는'-doubleValue' 메쏘드를 가지고 있지만'NSDecimal' 메쏘드는하지 않습니다. – kubi