에서 동일한 경우, 동일하게 작동하지 않습니다. 두 kCFNumberFormatterRoundFloor
및 kCFNumberFormatterRoundDown
이 부분 숫자의 적절한 수와 다음으로 큰 수 아래로
라운드로 설명되어 있습니다.
작은 테스트 결과는 이러한 반올림 모드가 음수 인에 대해 다른 결과를 나타냄을 보여줍니다.
kCFNumberFormatterRoundFloor
은 floor()
기능과 유사하게 동작합니다. 항상 더 작은 (또는 동등한) 값으로 반올림됩니다. 한편 kCFNumberFormatterRoundDown
은 "제로"를 반올림합니다. 즉, 은 절대 값이 입력의 절대 값보다 작거나 같은 숫자를 반환합니다.
예 (NSNumberFormatter
사용) 마찬가지로
NSNumberFormatter *f1 = [[NSNumberFormatter alloc] init];
[f1 setMaximumFractionDigits:0];
[f1 setRoundingMode:NSNumberFormatterRoundFloor];
NSNumberFormatter *f2 = [[NSNumberFormatter alloc] init];
[f2 setMaximumFractionDigits:0];
[f2 setRoundingMode:NSNumberFormatterRoundDown];
double x = -1.5;
NSLog(@"%@, %@", [f1 stringFromNumber:@(x)], [f2 stringFromNumber:@(x)]);
// Output: -2, -1
x = + 3.5;
NSLog(@"%@, %@", [f1 stringFromNumber:@(x)], [f2 stringFromNumber:@(x)]);
// Output: 3, 3
는 kCFNumberFormatterRoundCeiling
입력에 크거나 같은 값을 돌려 "0으로부터 거리"(등 ceil()
) 및 kCFNumberFormatterRoundUp
발사.
설명서에서 오해의 소지가있는 내용은 무엇입니까? –
kCFNumberFormatterRoundCeiling 설명은 kCFNumberFormatterRoundUp과 동일하지만 작동하지 않습니다. kCFNumberFormatterRoundFloor 및 kCFNumberFormatterRoundDown에서 동일한 경우입니다. – flatronka
질문에 무엇을 묻는 지 묻는 것이 좋습니다. (나에게 좋은 질문 같습니다.) –