iOS에서 부동 소수점 이후 자릿수를 어떻게 계산합니까?iOS에서 부동 소수점 이후 자릿수를 계산하는 방법은 무엇입니까?
예를 들어:
- 3.105 0
- 2.2 반환해야합니다 3
- 3.0 반환해야합니다 반환해야 1
업데이트 : 는 또한 우리는 다음 예제를 추가해야 . 분수 부분의 자릿수를 알고 싶습니다.
NSString *priorityString = [[NSNumber numberWithFloat:self.priority] stringValue];
NSRange range = [priorityString rangeOfString:@"."];
int digits;
if (range.location != NSNotFound) {
priorityString = [priorityString substringFromIndex:range.location + 1];
digits = [priorityString length];
} else {
range = [priorityString rangeOfString:@"e-"];
if (range.location != NSNotFound) {
priorityString = [priorityString substringFromIndex:range.location + 2];
digits = [priorityString intValue];
} else {
digits = 0;
}
}
NSString에 캐스트 한 다음 도트 위치를 찾으 시나요? – iiFreeman
@iiFreeman 모든 로케일이 소수점으로 도트를 사용하는 것은 아닙니다 –
3.105 또는 2.2를 iOS에서 'float'또는 'double'값으로 사용할 수 없습니다 (표준 Apple 도구 사용). 이진 부동 소수점으로 표현할 수 없습니다. 다른 형식의 값을 가지고 있습니까? 그렇지 않은 경우이 값 근처에서 숫자를 전달하고 있습니까? 예 : 2.2 대신 2.20000000000000017763568394002504646778106689453125? 그런 다음 이것을 2.20000000000000017763568394002504646778106689453125가 아닌 2.2로 처리할지 결정하기 위해 어떤 기준을 사용해야합니까? –